Python 将编码错误的字符串转换为utf8

Python 将编码错误的字符串转换为utf8,python,Python,我用错误的编码测试了这个字符串 该文本为:tεστ-Test,使用Western Windows-1252重新打开,并使用utf-8编码保存。 所以现在每当我在我的编辑器Sublime中打开这个文件时,我都需要用编码utf-8重新打开以读取值 我需要使用python转换文本。 我正在尝试: import codecs my_text = 'Τεστ - Test' try1 = bytes(my_text, 'utf-8') try2 = codecs.escape_decode(my

我用错误的编码测试了这个字符串

该文本为:tεστ-Test,使用Western Windows-1252重新打开,并使用utf-8编码保存。 所以现在每当我在我的编辑器Sublime中打开这个文件时,我都需要用编码utf-8重新打开以读取值

我需要使用python转换文本。 我正在尝试:

import codecs

my_text = 'Τεστ - Test'
try1 = bytes(my_text, 'utf-8')
try2 = codecs.escape_decode(my_text)[0]
try3 = str(my_text.encode('unicode_escape').decode('windows-1252'))
//try1 :  b'\xc3\x8e\xc2\xa4\xc3\x8e\xc2\xb5\xc3\x8f\xc6\x92\xc3\x8f\xe2\x80\x9e - Test'
//try2 :  b'\xc3\x8e\xc2\xa4\xc3\x8e\xc2\xb5\xc3\x8f\xc6\x92\xc3\x8f\xe2\x80\x9e - Test'
//try3 : \xce\xa4\xce\xb5\xcf\u0192\xcf\u201e - Test
我试图转换这个编码字符串,以便使用decode'utf-8'获得正确的值

try1 = try1.decode('utf-8')
try2 = try2.decode('utf-8')

但是我得到了再次测试的结果。

以下内容在Python 3中对我有用:

s = "Τεστ - Test"
assert s.encode("cp1252").decode("utf-8") == "Τεστ - Test"

因此,第一次调用encode时,使用cp1252将其编码为字节字符串,然后使用utf-8对该字节列表进行解码,得到预期的unicode字符串。

以下内容适用于我在Python 3中的工作:

s = "Τεστ - Test"
assert s.encode("cp1252").decode("utf-8") == "Τεστ - Test"

因此,第一次调用encode时,使用cp1252将其编码为字节字符串,然后使用utf-8对该字节列表进行解码,得到预期的unicode字符串。

您的文本最初是utf-8,然后以字节形式打开并解码为cp1252,然后重新编码为utf-8,因此,如果我们用python编写它,基本上是:

>>> "Τεστ - Test".encode('utf-8').decode('cp1252')
'Τεστ - Test'
所以逆运算是:

>>> 'Τεστ - Test'.encode('cp1252').decode('utf-8')
'Τεστ - Test'

您的文本最初是utf-8,然后以字节形式打开并解码,就像它是cp1252一样,然后重新编码为utf-8,因此基本上如果我们用python编写它,它将是:

>>> "Τεστ - Test".encode('utf-8').decode('cp1252')
'Τεστ - Test'
所以逆运算是:

>>> 'Τεστ - Test'.encode('cp1252').decode('utf-8')
'Τεστ - Test'