在 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 高手能帮忙看看找个合适的方法。