asp.net UTF8 2 GB2312

1:

a:

public string ConvertToGb(char ch)
    {
        byte[] b;
        int b0, b1;
        string str = null;
        str += ch;
        b = Encoding.Default.GetBytes(str);
        char ch1, ch2, ch3, ch4;
        b0 = b[0];
        if (b0 % 16 < 10)
            ch1 = (char)('0' + b0 % 16);
        else
            ch1 = (char)('A' + b0 % 16 - 10);
        b0 = b0 / 16;
        if (b0 % 16 < 10)
            ch2 = (char)('0' + b0 % 16);
        else
            ch2 = (char)('A' + b0 % 16 - 10);
        b1 = b[1];
        if (b1 % 16 < 10)
            ch3 = (char)('0' + b1 % 16);
        else
            ch3 = (char)('A' + b1 % 16 - 10);
        b1 = b1 / 16;
        if (b1 % 16 < 10)
            ch4 = (char)('0' + b1 % 16);
        else
            ch4 = (char)('A' + b1 % 16 - 10);
        string constr = null;
        constr += "%" + ch2;
        constr += ch1;
        constr += "%" + ch4;
        constr += ch3;
        return constr;
    }

b:

string word = Request.QueryString["word"].ToString();
                byte[] b = System.Text.Encoding.Default.GetBytes(word);
                char[] d = System.Text.Encoding.Default.GetChars(b);
                for (int i = 0; i < d.Length; i++)
                {
                    keyword += ConvertToGb(d[i]);
                }

******************

2:HttpUtility.UrlEncode(key, Encoding.GetEncoding("GB2312"))

 

posted @   94cool  阅读(135)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
< 2010年7月 >
27 28 29 30 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
1 2 3 4 5 6 7
点击右上角即可分享
微信分享提示