和Python2.7一样,我可以将所有Unicode字符串保存到Python源代码中。
在下面的代码中,
#!/usr/bin/python #coding:utf-8 a = u'æå¾å¥½,ä½ å¢?' with open('test.txt', 'wb') as f: f.write(repr(a))
我所期望的是给我一个文本和以下措辞
U'\U6211\U5F88\U597D\U002C\U4F60\U5462\U003F'
但事实证明是
u'\u6211\u5f88\u597d,\u4f60\u5462?'
为什么不处理标点符号?是否也可以处理标点符号?
更新 : 尽管我将在注释中使用@blckknght advisement,因为使用其他编码对我来说仍然可以,但是我仍然愿意看看是否有关于将标点保存为python字符串的答案。谢谢。
repr()
#coding:utf8 def my_repr(s): return "u'" + ''.join(r'\u{:04x}'.format(ord(c)) for c in s) + "'" s = u'æå¾å¥½,ä½ å¢?' print my_repr(s)
u'\u6211\u5f88\u597d\u002c\u4f60\u5462\u003f'