首页 > 解决方案 > 如何在 python 3 终端中打印希伯来语短语?

问题描述

有人知道为什么我的 python 3 终端没有正确显示 unicode 吗?

text= "בראשית ברא אלהים את השמים ואת הארץ".encode("UTF-8")
print (text)

但输出是:

b'\xd7\x91\xd7\xa8\xd7\x90\xd7\xa9\xd7\x99\xd7\xaa \xd7\x91\xd7\xa8\xd7\x90 \xd7\x90\xd7\x9c\xd7\x94\xd7\x99\xd7\x9d \xd7\x90\xd7\xaa \xd7\x94\xd7\xa9\xd7\x9e\xd7\x99\xd7\x9d \xd7\x95\xd7\x90\xd7\xaa \xd7\x94\xd7\x90\xd7\xa8\xd7\xa5'

如何正确打印?

或者如果我不对其进行编码:

text= "בראשית ברא אלהים את השמים ואת הארץ"
print (text)

出现此错误:

return codecs.charmap_encode(input,self.errors,encoding_table)[0]

UnicodeEncodeError:“charmap”编解码器无法对位置 0-5 中的字符进行编码:字符映射到

标签: pythonunicodeprintinghebrew

解决方案


text是一个bytes值。print取值strstr(b'foo')不是'foo',但是"b'foo'"

首先不要编码text。它已经是一个合适的值用作print. 终端所需的任何编码都由print写入的类文件对象完成。

text = "בראשית ברא אלהים את השמים ואת הארץ"
print(text)

推荐阅读