Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Comments on entries does not support unicode

未关闭
#878 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
45/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
csharp
领域
tooling

调研方向

从 src/ICSharpCode.SharpZipLib/Zip/ZipFile.cs 第 2437 行附近开始,并使用提供的 CommentsOnEntriesSupportUnicode reproduction。检查条目注释的写入和读取路径,然后验证测试存档往返后得到的是 "åäö" 而不是 "???"。

由索引模型根据 Issue 内容生成。

描述

*no response* bug
Describe the bug

Setting a comment on an entry with special characters is not respected when reading back the archive.
Maybe this is the issue:
https://github.com/icsharpcode/SharpZipLib/blob/ff2d7c30bdb2474d507f001bc555405e9f02a0bb/src/ICSharpCode.SharpZipLib/Zip/ZipFile.cs#L2437

Reproduction Code

No response

Steps to reproduce
[Test]
[Category("Zip")]
[Category("CreatesTempFile")]
public void CommentsOnEntriesSupportUnicode()
{
	string tempFile = GetTempFilePath();
	Assert.IsNotNull(tempFile, "No permission to execute this test?");

	tempFile = Path.Combine(tempFile, "SharpZipTest.Zip");
	if (File.Exists(tempFile))
	{
		File.Delete(tempFile);
	}

	using (ZipFile testFile = ZipFile.Create(tempFile))
	{
		testFile.BeginUpdate();
		testFile.Add(new StringMemoryDataSource("Aha"), new ZipEntry("Aha") 
		{
			Comment = "åäö",
			IsUnicodeText = true
		});
		testFile.CommitUpdate();

		Assert.That(testFile, Does.PassTestArchive());
	}

	using (ZipFile testFile = new ZipFile(tempFile))
	{
		Assert.AreEqual("åäö", testFile.First().Comment);
	}
}
Expected behavior

comments should be åäö but is ???

Operating System

No response

Framework Version

No response

Tags

No response

Additional context

No response

主要语言
C#
星标
3.9k
派生
1k
PR 合并指标
30 天内没有已合并 PR

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

icsharpcode/SharpZipLib 的其他 Issue

查看 icsharpcode/SharpZipLib 的全部 Issue

相似的 Issue

更多 C# Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。