入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

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

创建时间:2005-04-28 投稿人: 浏览次数:2548

解决方法有两个,不过我觉得第一个是在有原来转换前的数据时才行得通,第二种个人没测试,不过看过似乎不许前者数据可行通!

第一种如下:
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"))

第二种本人没测试过,如果你有测试可以告诉下你的测试结果!

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像