玩蛇网提供最新Python编程技术信息以及Python资源下载!

Python转码问题求助,字典字符串类型转换失败源码如何修改

#coding=utf-8

x={'123':"我"}
print x['123']
print x['123'].decode("utf-8")
name=str(x).split("'")[3]
print name
print name.decode("utf-8")

x = {'123': "我"}

此时utf8编码下,x为{'123': '\xe6\x88\x91'}

x是字典,作str(x)得到"{'123': '\\xe6\\x88\\x91'}"

str(x).split("'")得到['{', '123', ': ', '\\xe6\\x88\\x91', '}']

python解释器允许交互式打印,过程中可以清楚看见字典__str__()方法的实现

Solution 1

a =[i for i in x['123']]
print b"".join(a).decode('utf-8')

Solution 2

print name.replace('\\x','').decode('hex').decode('utf-8')

Solution2,
1. 把name stringfy之後變成'\\xe6\\x88\\x91'
2. 移除\x變成'e68891'
3. decode成為hex
4. 再變成'utf-8'
5. print出來.

x['123'] = x['123'].decode("utf-8")

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19561.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月23日 - 17时21分47秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules