如何在Python中将\ xXY编码的字符转换为UTF-8?

Jin*_*arz 5 python unicode utf-8 character-encoding non-ascii-characters

我有一个文本,其中包含"\ xaf","\ xbe"等字符,正如我从这个问题中理解的那样,它是ASCII编码字符.

我想用Python将它们转换为UTF-8等价物.通常的string.encode("utf-8")抛出UnicodeDecodeError.有没有更好的方法,例如,使用codecs标准库?

品尝这里200个字符.

tzo*_*zot 3

您的文件已经是 UTF-8 编码的文件。

# saved encoding-sample to /tmp/encoding-sample
import codecs
fp= codecs.open("/tmp/encoding-sample", "r", "utf8")
data= fp.read()

import unicodedata as ud

chars= sorted(set(data))
for char in chars:
    try:
        charname= ud.name(char)
    except ValueError:
        charname= "<unknown>"
    sys.stdout.write("char U%04x %s\n" % (ord(char), charname))
Run Code Online (Sandbox Code Playgroud)

并手动填写未知名称:
char U000a LINE FEED
char U001e INFORMATION SEPARATOR TWO
char U001f INFORMATION SEPARATOR ONE