gpt4 book ai didi

python - 显示从文件中读取的 unicode

转载 作者:太空宇宙 更新时间:2023-11-03 15:09:41 24 4
gpt4 key购买 nike

我有一个文本文件,其中有一些用 unicode 编写的名称,例如:

\u0938\u0941\u0932\u0915\u094d\u0937\u0923\u093e\u0926\u0947\u0935\u0940

我已经设法编写代码来将其作为字符串读取。我想做的是将其作为 Tkinter 中的标签。现在,一般来说,我知道 Tkinter 标签文本可以采用 unicode,因为当我直接使用该值对标签进行编码时,它描述了写入字符。但是,当我从文件中读取并将其存储在数组中时,它放在 Tkinter 上时仅显示字符串值。我的问题是如何将 unicode 的字符串表示形式转换回 unicode。我正在使用这样的代码。 roster_hindi 包含字符。

name_label=unicode(roster_hindi[0], 'iso8859-6')
print name_label
L=Label(t2, text=name_label, font=("KrutiDev", 18), background='gold')
L.grid(row=0, column=0, sticky='ns')

这行不通。任何帮助将不胜感激。谢谢。

最佳答案

文本文件中的数据采用 Unicode 转义序列的形式。以下是如何在 Python 2 中对其进行转换。

data = '\u0938\u0941\u0932\u0915\u094d\u0937\u0923\u093e \u0926\u0947\u0935\u0940'
s = data.decode('unicode-escape')
print s

输出

सलकषणा दवी

要实际从文件中读取数据,您可以执行以下操作:

with open(fname, 'r') as f:
data = f.read()
s = data.decode('unicode-escape')
print s
<小时/>

FWIW,这是在 Python 3 中执行此操作的方法,Python 3 对字节与文本字符串更加严格。最简洁的方法(恕我直言)是以二进制模式读取 Unicode 转义序列:

with open(fname, 'rb') as f:
data = f.read()
s = data.decode('unicode-escape')
print(s)

此代码在 Python 2 中也能正常工作。

关于python - 显示从文件中读取的 unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44328029/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com