日期:2014-05-17  浏览次数:21311 次

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;