python - 在python中将字符串转换为unicode

标签 python unicode

我正在尝试将 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/

相关文章:

javascript - 如何不编码unicode,javascript

windows - cmd.exe 上的 UTF-16

python : Operator Overloading a specific type

python - 训练CNN时如何去除重复项?

python - 如何将 Tkinter Text 小部件的撤消/重做历史记录复制到另一个小部件中

python - 如何在 Python 级别将 unicode 转换为字符串?

python - 如何将包含 Unicode 代理项对的 JSON 编码数据转换为字符串?

python - 如何使用 python (3.2) 保存函数

python - 从 pandas 数据框构造 URL 查询

java - 为什么 Unicode 字符在数据库中正确显示,但显示为?当通过 Hibernate 在 Java 中打印时?