赞
踩
如题,在此仅写出 utf8 和 gbk 转换的代码,转换为gb2312只需要将引号中的gbk替换为gb2312即可。
需要特别注意的是,至少在vs里编写代码时,如果使用gbk等字符集,必须加上这一行代码:Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
否则就会报这种错误:
以下是全部代码,记得要在文件开头添加引用:using System.Text;
using System.Text; ... public static string UTF8ToGBK(string text) { Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); try { Encoding utf8 = Encoding.UTF8; Encoding gbk = Encoding.GetEncoding("gbk");//Encoding.Default ,936 byte[] temp = utf8.GetBytes(text); byte[] temp1 = Encoding.Convert(utf8, gbk, temp); string result = gbk.GetString(temp1); return result; } catch { return null; } } public static string GBKToUTF8(string str) { Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); Encoding utf8; Encoding gbk; utf8 = Encoding.GetEncoding("utf-8"); gbk = Encoding.GetEncoding("gbk"); byte[] gb = gbk.GetBytes(str); gb = Encoding.Convert(gbk, utf8, gb); return utf8.GetString(gb); }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。