请问如何用C#实现转码(IBM-1047) 用JAVA可比较容易的从GBK向IBM-1047转码,但是用C#怎么实现啊?研究了很长时间了也没有结果,现在求助大家,谢谢!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 System.Text.Encoding类可以实现转码。 byte[] data = UnicodeEncoding.UTF8.GetBytes("This is the UTF8 strings");Encoding gbk = UnicodeEncoding.GetEncoding("GBK");Encoding ibm1047 = UnicodeEncoding.GetEncoding(1047);char[] ibmOuts = ibm1047.GetChars(data);Console.WriteLine(ibmOuts);char[] gbkOuts = gbk.GetChars(ibm1047.GetBytes(ibmOuts));Console.WriteLine(gbkOuts); Encoding encodingGBK = Encoding.GetEncoding("GBK");Encoding encodingIbm = Encoding.GetEncoding("IBM-1047");byte[] bytes = Encoding.Convert(encodingGBK ,encodingIbm ,srcBytes); Encoding.GetEncoding("IBM-1047"); 应该这样的:Encoding.GetEncoding("IBM01047"); 谢谢大家的回答~我用了lalac提供的比较详细的代码,转码后的内容是由异体e,异体a,以及问号组成的。我以前自己实现的转码后的内容大致也是这样的。但是我同事利用c++和java实现的IBM1047的转码后的内容大都由乱码汉字组成的,,,这是为什么阿?? 你同事写的应该等价下面这段:Encoding gbk = UnicodeEncoding.GetEncoding("GBK");Encoding ibm1047 = UnicodeEncoding.GetEncoding("IBM01047");byte[] data = ibm1047.GetBytes("This is the UTF8 strings");char[] ibmOuts = ibm1047.GetChars(data);Console.WriteLine(ibmOuts);char[] gbkOuts = gbk.GetChars(ibm1047.GetBytes(ibmOuts));Console.WriteLine(gbkOuts);输出为:This is the UTF8 strings銏墷@墷@匑溷气@ⅲ檳晣? 看看这个http://www.qqgexing.com/fuwu/jfc.asp WPF WINDOWS MEDIAELEMENT 的问题 子控件重绘的问题,求教高手 验证码怎样才能不区分大小写? 帮帮我啊..服务器相关问题 请教如何使windows窗体显示在屏幕正中央?谢谢 求 Console.WriteLine(+i+++j++);的解???考察您对C#的运算符应用 在解决方案中有两个项目,在其中一个项目中怎么引用另一个项目的一个类? 关于数据库连接的问题 ,求大神给解答 往水晶报表传值问题。 如何调用另一个方法,也就是方法重载的问题. 两个Form之间如何传递参数? 有没有从delphi转.NET(C#)的啊,大家互相交流学习经验啊!
byte[] data = UnicodeEncoding.UTF8.GetBytes("This is the UTF8 strings");Encoding gbk = UnicodeEncoding.GetEncoding("GBK");
Encoding ibm1047 = UnicodeEncoding.GetEncoding(1047);char[] ibmOuts = ibm1047.GetChars(data);
Console.WriteLine(ibmOuts);char[] gbkOuts = gbk.GetChars(ibm1047.GetBytes(ibmOuts));
Console.WriteLine(gbkOuts);
Encoding encodingIbm = Encoding.GetEncoding("IBM-1047");
byte[] bytes = Encoding.Convert(encodingGBK ,encodingIbm ,srcBytes);
Encoding.GetEncoding("IBM-1047");应该这样的:
Encoding.GetEncoding("IBM01047");
我用了lalac提供的比较详细的代码,转码后的内容是由异体e,异体a,以及问号组成的。我以前自己实现的转码后的内容大致也是这样的。
但是我同事利用c++和java实现的IBM1047的转码后的内容大都由乱码汉字组成的,,,这是为什么阿??
Encoding ibm1047 = UnicodeEncoding.GetEncoding("IBM01047");byte[] data = ibm1047.GetBytes("This is the UTF8 strings");char[] ibmOuts = ibm1047.GetChars(data);
Console.WriteLine(ibmOuts);char[] gbkOuts = gbk.GetChars(ibm1047.GetBytes(ibmOuts));
Console.WriteLine(gbkOuts);输出为:This is the UTF8 strings
銏墷@墷@匑溷气@ⅲ檳晣?
http://www.qqgexing.com/fuwu/jfc.asp