您的位置:首页 > 其它

把UTF-8编码转换为GB2312编码[转]

2006-10-31 16:28 507 查看
把UTF-8编码转换为GB2312编码[转]


如果只有某个页的编码需要修改,ASP.net 中则可以简单的使用下面代码:

Encoding gb2312 = Encoding.GetEncoding("gb2312");


Response.ContentEncoding = gb2312;

在非ASP.net 应用中,可能你读到的数据是UTF-8编码,但是你要转换为GB2312编码,则可以参考以下代码:


string utfinfo = "document.write(/"alert('aa你好么??');/");";


string gb2312info = string.Empty;




Encoding utf8 = Encoding.UTF8;


Encoding gb2312 = Encoding.GetEncoding("gb2312");




// Convert the string into a byte[].

byte[] unicodeBytes = utf8.GetBytes(utfinfo);


// Perform the conversion from one encoding to the other.

byte[] asciiBytes = Encoding.Convert(utf8, gb2312, unicodeBytes);




// Convert the new byte[] into a char[] and then into a string.


// This is a slightly different approach to converting to illustrate


// the use of GetCharCount/GetChars.

char[] asciiChars = new char[gb2312.GetCharCount(asciiBytes, 0, asciiBytes.Length)];


gb2312.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0);


gb2312info = new string(asciiChars);


当然,其他各种编码之间的转换,跟上述代码也类似的,就不描述了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: