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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ascii编码字符串中的Python十六进制值相关的知识,希望对你有一定的参考价值。

我在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'xcex97'
>>>print(a.decode("utf-8"))
>>>Η

我怎样才能使用变量a?

答案

对于解码问题:

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

'Η'

以上是关于ascii编码字符串中的Python十六进制值的主要内容,如果未能解决你的问题,请参考以下文章

字符编码和二进制

Python中的编码问题:ASCII码 Unicoden编码 UTF-8编码

字符编码和二进制

怎么解决python "Non-ASCII character"错误

从以十六进制编码的 ASCII 字符串转换为纯 ASCII?

URL中的特殊字符处理