C#接收浏览器信息的中文编码问题

zt371 2003-12-04 06:58:39
这两天自己写了个web的服务器端,用来接收页面提交的信息。
但不知道怎样把提交的中文的编码信息如%B2%E2%CA%D4转换过来。
还请指教。
...全文
206 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
NetAnt007 2003-12-04
  • 打赏
  • 举报
回复
帮你up
cnicq 2003-12-04
  • 打赏
  • 举报
回复
一起学习
xiaha3 2003-12-04
  • 打赏
  • 举报
回复
呵呵,
zt371 2003-12-04
  • 打赏
  • 举报
回复
在论坛里找到了答案。下面得是引用 xiaha3(夏) 的代码。
public string check(string s1)
{
Encoding enc = Encoding.GetEncoding("GB2312");
char c,d;
byte a=0,b=0;

byte[] bytes=new byte[s1.Length /2];
char[] chars=new char[s1.Length];
char[] chars1=s1.ToCharArray ();
for(int i=0 ;i<chars1.Length ;i=i+2)
{c=chars1[i];
d=chars1[i+1];
switch( c)
{
case 'A':
a=(byte)10;
break;
case 'B':
a=(byte)11;
break;
case 'C':
a=(byte)12;
break;
case 'D':
a=(byte)13;
break;
case 'E':
a=(byte)14;
break;
case 'F':
a=(byte)15;
break;
default:
a=byte.Parse(chars1[i].ToString ());
break;
}
switch(d)
{
case 'A':
b=(byte)10;
break;
case 'B':
b=(byte)11;
break;
case 'C':
b=(byte)12;
break;
case 'D':
b=(byte)13;
break;
case 'E':
b=(byte)14;
break;
case 'F':
b=(byte)15;
break;
default:
b=byte.Parse (chars1[i+1].ToString ());
break;
}

bytes[i/2]=(byte)(a*16+b);
}
string s=enc.GetString(bytes);
int co=s.Length ;

return s.ToString ();
}
zt371 2003-12-04
  • 打赏
  • 举报
回复
非常感谢,但是上面的办法都不行。可能我没有表达清楚。
得到%B2%E2%CA%D4证明编码是没有错误的,页面向程序提交的时候会把中文转换成这种格式以在网上传播。现在的问题是如何能将这编码再转回中文。
这个编码的中文是"测试"两个字。
elite2018 2003-12-04
  • 打赏
  • 举报
回复
System.Text.encoding.default.GetBytes(yourstring);
tangyanjun1 2003-12-04
  • 打赏
  • 举报
回复
一般用byte[]进行转换
string strOld = "unicode的字符串";
byte[] bytes = System.Text.encoding.default.GetBytes(strold);
string strNew = System.Text.Encoding.GetEncoding("gb2312").getString(bytes);
gOODiDEA 2003-12-04
  • 打赏
  • 举报
回复
带有中文的参数用System.Web.HttpUtility.UrlEncode()编码,接收时直接Request

如:

xxx.aspx?id=System.Web.HttpUtility.UrlEncode("中国");

则可以在xxx.aspx中:

Request["id"]
Edifier0709 2003-12-04
  • 打赏
  • 举报
回复
UP......

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧