python转码问题

fvn4edal 2011-12-19 08:59:12
#coding=utf-8
k9 = {u'SIP_T_NAME': u'1.8TFSI MT\u8212\u9002\u578b', u'SIP_C_283': u'-', u'SIP_C_155': u'\u56fd\u56db'}
for i in k9:
i = i.encode("utf-8")
k9[i] = k9[i].encode("utf-8")
print i+" = "+k9[i]

print k9
print str(k9).encode("utf-8")

结果是:
SIP_C_155 = 国四
SIP_C_283 = -
SIP_T_NAME = 1.8TFSI MT舒适型
{u'SIP_C_155': '\xe5\x9b\xbd\xe5\x9b\x9b', u'SIP_C_283': '-', u'SIP_T_NAME': '1.8TFSI MT\xe8\x88\x92\xe9\x80\x82\xe5\x9e\x8b'}

我的问题是为什么我在encode以后仍然不能直接打印出中文正常输出的形式呢,我想得出的结果是:
{'SIP_C_155':'国四', 'SIP_C_283':'-', 'SIP_T_NAME':'1.8TFSI MT舒适型'}

本人是小白,谢谢各位大仙帮助。
...全文
249 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
angel_su 2011-12-22
  • 打赏
  • 举报
回复
如果你只是要看看那些中文字是啥,可以简单如下:

>>> k9 = {u'SIP_T_NAME': u'1.8TFSI MT\u8212\u9002\u578b', u'SIP_C_283': u'-', u'
SIP_C_155': u'\u56fd\u56db'}
>>> print unicode(str(k9), 'unicode_escape')
{u'SIP_C_155': u'国四', u'SIP_C_283': u'-', u'SIP_T_NAME': u'1.8TFSI MT舒适型'}
askandstudy 2011-12-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tim_spac 的回复:]

or

Python code
#!/usr/bin/python2.7
# encoding: utf-8

def dict_str(d):
return '{%s}'%(', '.join(["'%s': '%s'" % (k,v)
for k,v in d.items()]))

k9 = {
u'SIP_T_NAME': u'1.8TFSI MT\……
[/Quote]
学习了
tim_spac 2011-12-21
  • 打赏
  • 举报
回复
or

#!/usr/bin/python2.7
# encoding: utf-8

def dict_str(d):
return '{%s}'%(', '.join(["'%s': '%s'" % (k,v)
for k,v in d.items()]))

k9 = {
u'SIP_T_NAME': u'1.8TFSI MT\u8212\u9002\u578b',
u'SIP_C_283': u'-',
u'SIP_C_155': u'\u56fd\u56db',
}

for i in k9:
print i.encode("utf-8")+" = "+k9[i].encode("utf-8")
print ''

print k9
print ''

print dict_str(k9).encode('utf-8')
print ''
tim_spac 2011-12-21
  • 打赏
  • 举报
回复
tim@tim-Vostro-200:~/桌面$ cat test.py
#!/usr/bin/python2.7
# encoding: utf-8

import pprint
k9 = {
u'SIP_T_NAME': u'1.8TFSI MT\u8212\u9002\u578b',
u'SIP_C_283': u'-',
u'SIP_C_155': u'\u56fd\u56db',
}

for i in k9:
i = i.encode("utf-8")
k9[i] = k9[i].encode("utf-8")
print i+" = "+k9[i]

print ''
print k9
print ''

def dict_str(d, coding='utf-8'):
return '{%s}'%(', '.join(["'%s': '%s'" % (k,v.decode(coding))
for k,v in d.items()]))

print dict_str(k9)
tim@tim-Vostro-200:~/桌面$ python test.py
SIP_C_155 = 国四
SIP_C_283 = -
SIP_T_NAME = 1.8TFSI MT舒适型

{u'SIP_C_155': '\xe5\x9b\xbd\xe5\x9b\x9b', u'SIP_C_283': '-', u'SIP_T_NAME': '1.8TFSI MT\xe8\x88\x92\xe9\x80\x82\xe5\x9e\x8b'}

{'SIP_C_155': '国四', 'SIP_C_283': '-', 'SIP_T_NAME': '1.8TFSI MT舒适型'}
tim@tim-Vostro-200:~/桌面$
iambic 2011-12-19
  • 打赏
  • 举报
回复
Python不支持。

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

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