ascii编码字符串中的Python十六进制值

问题描述 投票:2回答:1

我在python中读取.txt文件中的字符串时遇到问题 文件包含以下数据:\ xce \ x97 在ascii中编码(类似于使用python字符串的“\ xce \ x97”)我想将其转换为UTF-8编码

file.open("file.txt", "r")
a = file.read() #a = "\\xce\\x97"
file.close()

该字符串的正确值是:“Η”(它是希腊字母,大写“η”)Ι可以使用

>>>a = b'\xce\x97'
>>>print(a.decode("utf-8"))
>>>Η

我怎样才能使用变量a?

python string encoding hex ascii
1个回答
1
投票

对于解码问题:

a = "\\xce\\x97"
print(a.encode().decode('unicode-escape').encode("latin-1").decode('utf-8'))

'Η'
© www.soinside.com 2019 - 2024. All rights reserved.