小编Lim*_*ess的帖子

将 Unicode 转义符转换为希伯来语文本

我的 json 文件中有以下文本:

\n\n
"\\u00d7\\u0090\\u00d7\\u0097\\u00d7\\u0095\\u00d7\\u0096\\u00d7\\u00aa \n\\u00d7\\u00a4\\u00d7\\u0095\\u00d7\\u009c\\u00d7\\u0092"\n
Run Code Online (Sandbox Code Playgroud)\n\n

它表示希伯来语中的文本“\xd7\x90\xd7\x97\xd7\x95\xd7\x96\xd7\xaa \xd7\xa4\xd7\x95\xd7\x9c\xd7\x92”。

\n\n

无论我使用哪种编码/解码,我似乎都无法正确使用 Python 3。

\n\n

例如,如果我尝试:

\n\n
text = "\\u00d7\\u0090\\u00d7\\u0097\\u00d7\\u0095\\u00d7\\u0096\\u00d7\\u00aa \n\\u00d7\\u00a4\\u00d7\\u0095\\u00d7\\u009c\\u00d7\\u0092".encode(\'unicode-escape\')\n\nprint(text)\n
Run Code Online (Sandbox Code Playgroud)\n\n

我得到的文字是:

\n\n
b\'\\\\xd7\\\\x90\\\\xd7\\\\x97\\\\xd7\\\\x95\\\\xd7\\\\x96\\\\xd7\\\\xaa \\\\xd7\\\\xa4\\\\xd7\\\\x95\\\\xd7\\\\x9c\\\\xd7\\\\x92\'\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果我能够仅删除一个反斜杠并转过来,这在字节码中几乎是正确的文本

\n\n
b\'\\\\xd7\\\\x90\\\\xd7\\\\x97\\\\xd7\\\\x95\\\\xd7\\\\x96\\\\xd7\\\\xaa \\\\xd7\\\\xa4\\\\xd7\\\\x95\\\\xd7\\\\x9c\\\\xd7\\\\x92\'\n
Run Code Online (Sandbox Code Playgroud)\n\n

进入

\n\n
text = b\'\\xd7\\x90\\xd7\\x97\\xd7\\x95\\xd7\\x96\\xd7\\xaa \\xd7\\xa4\\xd7\\x95\\xd7\\x9c\\xd7\\x92\'\n
Run Code Online (Sandbox Code Playgroud)\n\n

(注意我如何将双斜杠更改为单斜杠)然后

\n\n
text.decode(\'utf-8\')\n
Run Code Online (Sandbox Code Playgroud)\n\n

将产生正确的希伯来语文本。

\n\n

但我正在努力这样做,并且无法设法创建一段代码来为我做到这一点(而不是像我刚刚展示的那样手动......)

\n\n

非常感谢任何帮助...

\n

unicode utf-8 hebrew unicode-escapes python-3.x

4
推荐指数
1
解决办法
3109
查看次数

标签 统计

hebrew ×1

python-3.x ×1

unicode ×1

unicode-escapes ×1

utf-8 ×1