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"))