在 IDLE 中可以直接将 unicode 字符按'\xaa\xbb'这种格式输出,如下所示
| >>> s = u'熊猫'
| >>> s.encode('utf-8')
'\xc3\x90\xc3\x9c\xc3\x83\xc2\xa8'
| >>>
现在有一个比较特殊的需求,需要编写的 python 脚本用 print 按这个格式输出,在 Stackoverflow 上找了一圈又 google 了半天,进行了下列尝试:
1,直接 print s.encode('utf-8'),直接输出了'熊猫'
2,使用 join kwd = u'熊猫' print ' '.join(hex(ord(kwdChar)) for kwdChar in kwd)
输出结果是:0x718a 0x732b
此外还发现 kwd = '熊猫'执行的结果跟加了 u 的 unicode 不一样,应该是被当作了 string 了吧。 kwd = '熊猫'的结果是:0xe7 0x86 0x8a 0xe7 0x8c 0xab
其他陆续也在网上找了不少资料,包括介绍 unicode 编码以及 python 2.x 与 unicode 之间的各种问题的文章,但好像都没办法实现这个需求。客户催的也比较急,想问问 v2 上有没有 python 高手能帮忙看看找个合适的方法。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.