如何使用python3将文件中unicode文本的字符串表示转换为真正的unicode文本?

2024-09-25 08:25:46 发布

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

我得到了一个文件,其中包含纯文本和一些unicode文本的表示,比如

STRING_LITERAL2 = '"' ( ([^\x22\x5C\xA\xD]) | '\' [tbnrf\"'] )* '"'

我需要将这些表示解释为实际的文字,并在正则表达式中使用它们。问题很简单,如果我明白的话

^{pr2}$

而python的import.re包无法解释这些文本。在

我可以使用re.sub("\\\\x",...)找到具体的表示形式,但是如果我想替换它们re.sub("\\\\x","\\x".encode().decode('unicode_escape'), str_lit2)-要说这些是真实的文字,我会得到以下错误:

UnicodeDecodeError: 'unicodeescape' codec can't decode bytes in position 0-1: truncated \xXX escape

那么,如何将unicode文本的这些字符串代表转换为实际的文本呢?当然只有Python3,因为我需要用这个。在

你好 梅尔达莫斯


Tags: 文件文本restringunicode文字decodeescape
1条回答
网友
1楼 · 发布于 2024-09-25 08:25:46

您包含的所有十六进制字符都属于US_ASCII平面,因为它们都没有最有效的位集。例如,\x22相当于Unicode/ASCII引号"。类似地,\5c相当于Unicode/ASCII \。在

没有你进一步的澄清,我认为你是引用了正常的ASCII码位。在

相关问题 更多 >