|
|

楼主 |
发表于 2017-7-17 12:49:57
|
显示全部楼层
请问下,为什么我把你的推导式改成单字解析中文就不行了?因为文本里面还包含数字和IP地址等,这样就并不是没个元素都可以这么直接转为中文了
- s=r"\'d0\'dc\'cf\'fe\'c1\'e1(829) \'b5\'c7\'c2\'bd\'cf\'b5\'cd\'b3(/login.asp)[IP:192.168.1.252]"
复制代码
比如这样的,当传入e1(829)时就会报错无法转换了,可我传入单独的e1解析出来的好像编辑器无法显示,是一个方块了,
我测试方法如下:
- a=r"\'d6\'b4\'d0\'d0\'c1\'cb\'d2\'bb\'b4\'ce"
- print('a:\t\t'+a)
- print('a的中文:\t'+bytearray(int(x,16)for x in a.split(r"\'")[1:]).decode('gbk'))
- print('a的列表b:')
- b=a.split(r"\'")[1:] #去掉第一个空的
- print(b)
- print('测试输出中文b:')
- print('b的中文:\t'+bytearray(int(x,16)for x in b[0:]).decode('gbk'))
- print('b的中文:\t'+bytearray(int("d6",16)).decode('gbk'))
复制代码
输出结果:
- a: \'d6\'b4\'d0\'d0\'c1\'cb\'d2\'bb\'b4\'ce
- a的中文: 执行了一次
- a的列表b:
- ['d6', 'b4', 'd0', 'd0', 'c1', 'cb', 'd2', 'bb', 'b4', 'ce']
- 测试输出中文b:
- b的中文: 执行了一次
- b的中文:
复制代码
b的中文后面看不到字,好像单个转换总成功不了 |
|