从Python 3中的文件读取和打印Unicode文字字符串

时间:2019-07-28 11:14:56

标签: python unicode

如果我们要在Python中打印 alpha beta 的符号,则一种方法是:

print('\u03b1')
print('\u03b2')

输出:

α
β

我想做的是将这些符号的unicode写入文件: data.txt ,读取文件,然后打印符号。

data.txt

03b1
03b2

所以,我尝试了

file = open('data.txt')
for word in file:
    greek_word = '\\u' + word
    print(greek_word)

但是,我得到的输出为:

\u03b1

\u03b2

我不知道如何将 \ u03b1 打印到α。我已经阅读了unicode文档,对编码进行了一些置换,对utf-8进行了解码等。

Python将两个变量的类型仅显示为 str

1 个答案:

答案 0 :(得分:1)

使用int(hex_string, 16)将十六进制表示形式转换为数字Unicode代码点,然后使用chr()将其转换为相应的字符:

file = open('data.txt')
for word in file:
    greek_word = chr(int(word, 16))
    print(greek_word)

请注意,这仅处理单个字符,不处理单词,因为您未指定应使用data.txt书写完整单词的格式。