Big5-HKSCS转UTF-8 C#中如和实现?
RT
有上百份HK那边旧式的文档,都是用Big5-HKSCS编码的。
用Big5是只能显示绝大部分,但某些特殊字是认不出来的!
网上写了很多转换方法,但都是Big5的,唯一可以转换Big5-HKSCS的教程都是Java和PHP的,郁闷啊。
为什么C#的Encoding不支持Big5-HKSCS,难道真的没有办法在C#中完成?
求大神指导!!
public string Transform(string abc)
{
Encoding big5 = Encoding.GetEncoding("big5");
byte[] big5Bytes = big5.GetBytes(abc);
//byte[] unicodeBytes = Encoding.Unicode.GetBytes(abc);
byte[] utf8Bytes = Encoding.Convert(big5, Encoding.UTF8, big5Bytes);
string newData = Encoding.UTF8.GetString(utf8Bytes);
return newData;
}
------解决方案--------------------
Big5HKSCS的code page是951,你用cp951试试看,
int nCP=951;
Encoding big5 = Encoding.GetEncoding(nCP);
byte[] big5Bytes = big5.GetBytes(abc);
//byte[] unicodeBytes = Encoding.Unicode.GetBytes(abc);
byte[] utf8Bytes = Encoding.Convert(big5, Encoding.UTF8, big5Bytes);
string newData = Encoding.UTF8.GetString(utf8Bytes);
return newData;