|
发表于 2010-3-24 02:12:46
|
显示全部楼层
内蒙古自治区呼和浩特市
问题1:如果用寻找文本最笨的办法就是多取几次确定位置,肯定可以的,不要想着一步到位,往往会出错,尤其网页的变数,所以你就别嫌麻烦,我重点说说第二个问题
问题2:
%25E4%25B8%25AD%25E5%259B%25BD%25E4%25BA%25BA&====中国人
%25就是%的意思,可以直接替换去掉,剩下的字符每个汉字为三组十六进制,E4 B8 AD E5 9B BD E4 BA BA
ansi编码的十进制的汉字确实是两组十六进制,“中国人”应该是D6 D0 B9 FA C8 CB
utf8编码的十进制的汉字却是三组十六进制,“中国人”就成为了E4 B8 AD E5 9B BD E4 BA BA
所以这样的编码,你解码的顺序是:
1.先将%25E4%25B8%25AD%25E5%259B%25BD%25E4%25BA%25BA
替换为%E4%B8%AD%E5%9B%BD%E4%BA%BA,这个就是你经常见到的网页里的形式了
2.去掉所有百分号,转换为十进制文本
3.将转换完的文本从utf8转换为ansi
示例代码:
[e].版本 2
.支持库 spec
.局部变量 wb, 文本型
wb = 子文本替换 (“%25E4%25B8%25AD%25E5%259B%25BD%25E4%25BA%25BA”, “%25”, “ ”, , , 真)
wb = 取文本右边 (wb, 取文本长度 (wb) - 1)
调试输出 (wb)
wb = 十六进制到文本 (wb)
wb = UTF8转ANSI (到字节集 (wb))
调试输出 (wb)[/e]
调试输出的结果:
开始运行被调试程序
* “E4 B8 AD E5 9B BD E4 BA BA”
* “中国人 ”
被调试易程序运行完毕
我里面用到了模块的命令,模块你就自己找吧,回答完毕 |
|