有高手知道这种URLEncode的编码规则么

wtogether 2006-06-12 09:14:20
http://localhost/test.asp?Name=%bd%c3%b4%b5%b2z%b6%c7%a9_%a8t%a6C
用Response.Write Request.QueryString("Name")输出结果是繁体的:衛斯理傳奇系列,大家要看清楚,这不是普通的URlEncode
%b2z 对应 理
%a9_ 对应 奇
%a8t 对应 系
%a6C 对应 列
有高手知道这种编码的规则么?
...全文
607 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wtogether 2006-06-17
  • 打赏
  • 举报
回复
sswater(光杆兵)
% 始终影响后边 2 个字符
---------------
URLEncode我已知的就有三种编码方式
1、%uxxxx,这是多字节字符的Unicode URLEncode编码方式,这不常用,一般由JS的escape函数产生
2、%xx,这是常用的URLEncode编码方式
3、%xxc,这就是BIG5的一种URLEncode编码方式,%b2z就是一体的
刚查了文献:TW-BIG5每个字由两个字节组成,其第一字节编码范围为0xA1~0xF9,第二字节编码范围为0x40~0x7E与0xA1~0xFE
0x40~0x7E就是ASCII字符,当然%B2%7A这样也可以解码成big5的[理],但是ASP内置Server.URLEncode、php内置的urlencode或IE的FORM提交会把它编码成%B2z,如果根据[%后的两位国标码转换后的ASCII如果大于128,那么下一个%后的两位国标码就是高字节]的规则解码%bd%c3%b4%b5%b2z%b6%c7%a9_%a8t%a6C就会产生错误。
coolattt 2006-06-16
  • 打赏
  • 举报
回复
收藏了:)
低调的小青蛙 2006-06-16
  • 打赏
  • 举报
回复
更多相关概念,推荐:
http://www.regexlab.com/zh/encoding.htm
低调的小青蛙 2006-06-16
  • 打赏
  • 举报
回复
% 始终影响后边 2 个字符,搂主为什么一定认为 'b2z' 是一个整体呢

%b2z 就表示 '\xB2' 和 'z',

按照 BIG5 编码,\xB2 \x7A 两个字节就构成 '理' 这个汉子。
lolo2006 2006-06-13
  • 打赏
  • 举报
回复
这个帖要回
wtogether 2006-06-13
  • 打赏
  • 举报
回复
终于搞明白了,这种三字节URLEncode编码是为了避免产生歧义才这样设计的,不知道这是不是我想当然尔
%b2z = %b2%7a 这里的7A就是z的国标码
%a9_ = %a9%5f 这里的5f就是_的国标码
%a8t = %a8%74 这里的74就是t的国标码
%a6C = %a6%43 这里的43就是C的国标码

如果用正常URLEncode格式,我们通常写的URLDecode函数会把在0-128之间的字节当做ASCII处理了,所以它要用%加低位的国标码连带的高位的char值来编码,刚才找到一篇文章,里面称:Big5码是在台湾和香港等地广为使用的计算机汉字编码方案,使用的是繁体字 ,因最高位被置1,所以也不能直接在7位的网络系统中传输。我想这就是“衛”被编码成%bd%c3而“理”被编码成%b2z的原因了

用vbs运行如下代码就可以看到结果
SetLocale "zh-tw"
WScript.Echo Chr(&HB27A) '输出理
WScript.Echo Chr(&HA95F) '输出奇
WScript.Echo Chr(&HA874) '输出系
WScript.Echo Chr(&HA643) '输出列
jspadmin 2006-06-13
  • 打赏
  • 举报
回复
应该是繁体系统默认编码的结果,“理”的繁体URLEncode编码可能就是%b2z
jinfeng003 2006-06-13
  • 打赏
  • 举报
回复
大五码下边的URLEncode 就是这样的
但是具体规则不知道
找个BIG5的系统试试看,编出来应该是类似这样的
是是非非 2006-06-13
  • 打赏
  • 举报
回复
没见过
wtogether 2006-06-13
  • 打赏
  • 举报
回复
来个高手指点两招啊

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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