在python中将“纯文本”解释为utf8文本

2024-09-27 01:20:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个文本文件,其中的文本应该被解释为utf-8,但不是(它是这样给我的)。 下面是一个典型的文件行示例:

\u30ed\u30f3\u30c9\u30f3\u5728\u4f4f

应该是:

ロンドン在住

现在,我可以通过在命令行中键入以下命令在python上手动执行此操作:

>>> h1 = u'\u30ed\u30f3\u30c9\u30f3\u5728\u4f4f'    
>>> print h1
ロンドン在住

这给了我想要的。有没有办法让我自动完成?我试过做这种事

^{pr2}$

我也尝试过“编码”和“解码”功能,有什么想法吗?在

谢谢!在


Tags: 文件命令行文本命令示例键入h1utf
1条回答
网友
1楼 · 发布于 2024-09-27 01:20:40

\u30ed\u30f3\u30c9\u30f3\u5728\u4f4f不是UTF8;它使用python unicode转义格式。请改用unicode_escape编解码器:

>>> print '\u30ed\u30f3\u30c9\u30f3\u5728\u4f4f'.decode('unicode_escape')
ロンドン在住

以下是上述短语的UTF-8编码,以供比较:

^{pr2}$

注意,用unicode_escape解码的数据对于任何不能识别的Python转义序列都被视为拉丁语-1。在

但是要小心,您可能真正看到的是JSON编码的数据,它使用相同的符号来指定字符转义。使用json.loads()来解码实际的JSON数据;带有这种转义符的JSON字符串用"引号分隔,通常是较大结构(如JSON列表或对象)的一部分。在

相关问题 更多 >

    热门问题