首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

Unicode转GB2312的有关问题

2012-03-30 
Unicode转GB2312的问题源文件是UNICODE格式,用C#的Encoding.Convert转换成GB2312后,文件体积比直接用记事

Unicode转GB2312的问题
源文件是UNICODE格式,用C#的Encoding.Convert转换成GB2312后,文件体积比直接用记事本打开另存为GB2312的多一个字节。打开用c#转换后的GB2312文件,比用记事本打开另存为的GB2312文件在文件的最前面多了一个“?”号。请问这是为什么呢?谢谢!

[解决办法]
//如果是0xFF, 0xFE开头就跳到第3个位置开始读

private byte[] Unicode2GB2312(byte[] UnicodeContentBytes)
{
int i = 0;
if (UnicodeContentBytes.Length > 2 && UnicodeContentBytes[0] == 0xFF &&
UnicodeContentBytes[1] == 0xFE) i = 2;
return Encoding.Convert(Encoding.Unicode,
Encoding.GetEncoding( "GB2312 "), UnicodeContentBytes, i,
UnicodeContentBytes.Length - i);
}

热点排行