[英]Basic Unicode encoding/decoding
Python 2.7.9 / Windows环境
当我
print myString
我正在看:
u'\己\武\贪\天\曲'
现在我知道我正在使用的控制台(git-bash)能够显示unicode。 我如何编码(或解码,这是正确的过程)myString,以便显示:
己武贪天曲
我理解这个问题是非常基本的。 如果任何人都有很好的入门资料或参考资料,则非常欢迎链接。
您所看到的是print repr(u'\己\武\贪\天\曲')
。 如果isinstancetype(myString, (str, unicode))
为true,则查找定义字符串的源并进行修复。 如果myString
一些其他的类型,然后看看它是如何__str__
, __repr__
, __unicode__
方法定义。 要解决这个问题; 删除调用不必要的repr()
的代码(它可以隐藏为格式化操作,例如"%r" % o
)。
要检查您的环境是否支持Unicode,请运行: print u'\天'
。 它应该产生天
。
如果您的输入是Python文字并且您无法更改(您至少应尝试将其切换为json格式),则可以使用ast.literal_eval(r"u'\天'")
来获取unicode
字符串宾语:
import ast
print ast.literal_eval(myString)
您应该尝试这样:
message=u'\\u5df1\\u6b66\\u8d2a\\u5929\\u66f2'
print message.decode('unicode-escape')
我猜您在每个想要的字符上都错了一个“ \\”
您应该使用encode方法。 考虑这个例子:
str='hello'
print(str.encode(encoding='base64'))
有关可用编码的列表,请检查以下内容:
https://docs.python.org/2/library/codecs.html#standard-encodings
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.