我正在尝试将 Python 中的字符串类型转换为 Unicode。我希望它适用于任何非英语字符串,例如日语、中文或西类牙语。
例如,japanese_var 有一些日语字符 [ドキュメントを翻訳します]。
打印它会给出,
'\x83h\x83L\x83\x85\x83\x81\x83\x93\x83g\x82\xf0\x96|\x96\xf3\x82\xb5\x82\xdc\x82\xb7'
检查其类型,
type(japanese_var)
<type 'str'>
如何将其转换为“unicode”类型?
我应该使用 japanese_var.decode('mbcs') 吗?使用此代码可能会产生什么后果,因为我将在不同的操作系统平台和不同的外国语言环境上使用它?
我使用的是python 2.5.4
我正在从文件的属性中读取参数,该参数可以是文件的任何非英语字符串。
最佳答案
您需要知道输入字符串的编码。没有可靠的通用解决方案。
编码应可从输入字符串的源中获得。例如,如果您从网页中获取文本,则编码应指示为 HTTP Content-Type
的一部分。 ,作为来自服务器的 HTTP 响应 header 或作为 <meta>
页面源代码中的标记。
知道编码后,请使用 decode
方法。
该字符串似乎是 Shift-JIS:
>>> x = '\x83h\x83L\x83\x85\x83\x81\x83\x93\x83g\x82\xf0\x96|\x96\xf3\x82\xb5\x82\xdc\x82\xb7'
>>> print x.decode( "shift-jis" )
ドキュメントを翻訳します
关于python - 在python中将字符串转换为unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20467449/