您的位置:首页 > 其它

[个人整理]怎样把中文转换为16进制后,又还原为中文?

2005-04-28 21:03 302 查看
解决方法有两个,不过我觉得第一个是在有原来转换前的数据时才行得通,第二种个人没测试,不过看过似乎不许前者数据可行通!
第一种如下:
Dim strString As String = "转吧使劲地转吧"
Dim arrByte() As Byte
arrByte = System.Text.Encoding.GetEncoding("GB2312").GetBytes(strString)
For i As Integer = 0 To arrByte.Length - 1
Response.Write(System.Convert.ToString(arrByte(i), 16) & "<br/>")
Next
Response.Write(System.Text.Encoding.GetEncoding("GB2312").GetString(arrByte))

第二种如下:
string sCh = "测试";
sCh = System.Web.HttpUtility.UrlEncode(sCh, System.Text.Encoding.GetEncoding("GB2312")).ToUpper().Replace("%","");
Console.WriteLine(sCh);

System.Web.HttpUtility.UrlEncode(sCh, System.Text.Encoding.GetEncoding("GB2312")).ToUpper()
gives you
%B2%E2%CA%D4
so for "B2E2CAD4 ", just add a % before B2 and E2..-->
%B2%E2%CA%D4
then call HttpUtility.UrlDecode
s=System.Web.HttpUtility.UrlDecode("%B2%E2%CA%D4", System.Text.Encoding.GetEncoding("GB2312"))

第二种本人没测试过,如果你有测试可以告诉下你的测试结果!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: