请教一个编码的问题!

lizhenlz 2004-06-21 04:33:03
请教一个小问题
我的文件名是中文(出错).
用的是ICSharpCode.SharpZipLib;
解压缩,请指点.谢了.

//
string directoryName = "";
string pathToZip = "";
string strEntryName;
strEntryName=theEntry.Name;
byte[] enName=System.Text.Encoding.ASCII.GetBytes(strEntryName);
enName=System.Text.Encoding.Convert(System.Text.Encoding.ASCII,System.Text.Encoding.GetEncoding("GB2312"),enName,1,enName.Length-1);
int nLen=System.Text.Encoding.GetEncoding("GB2312").GetCharCount(enName,0,enName.Length);
char[] UniChar=new char[nLen];
System.Text.Encoding.GetEncoding("GB2312").GetChars(enName,0,enName.Length,UniChar,0);
strEntryName=new string(UniChar);
...全文
121 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lizhenlz 2004-06-22
  • 打赏
  • 举报
回复
谢谢 upto(阿球)
Bob 2004-06-21
  • 打赏
  • 举报
回复
修改SharpZipLib的 SharpZipLib\Zip\ZipConstants.cs 源码:

public static string ConvertToString(byte[] data)
{
return Encoding.GetEncoding("gb2312").GetString(data, 0, data.Length);
//return Encoding.ASCII.GetString(data,0, data.Length);
}

public static byte[] ConvertToArray(string str)
{
return Encoding.GetEncoding("gb2312").GetBytes(str);
//return Encoding.ASCII.GetBytes(str);
}
yemao20 2004-06-21
  • 打赏
  • 举报
回复
up

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧