Форум сайта python.su
Есть некий файл aword.txt в нем есть строка.
\xea\xe0\xea+\xef\xee\xe7\xe2\xee\xed\xe8\xf2\xfc
есть скрипт aw.py
#!/usr/bin/python
import chardet, os
f = open ("aword.txt", "r")
for line in f:
print chardet.detect(line)
b = line.decode('cp1251')
print b
>>{'confidence': 1.0, 'encoding': 'ascii'}
>>\xea\xe0\xea+\xef\xee\xe7\xe2\xee\xed\xe8\xf2\xfc
#!/usr/bin/python
import chardet, os
line = "\xea\xe0\xea+\xef\xee\xe7\xe2\xee\xed\xe8\xf2\xfc"
print chardet.detect(line)
b = line.decode('cp1251')
print b
>>{'confidence': 0.98999999999999999, 'encoding': 'windows-1251'}
>>как+позвонить
Офлайн
У вас получаются разные строки. В файле лежать байты со значения в виде символов ‘\’, ‘x’, ‘e’ и т.д. Это конечно же ascii.
А вот это
line = "\xea\xe0\xea+\xef\xee\xe7\xe2\xee\xed\xe8\xf2\xfc"
line = r"\xea\xe0\xea+\xef\xee\xe7\xe2\xee\xed\xe8\xf2\xfc"
Офлайн
Спасибо за ответ.
Если ли готовый метод, который сможет строку “\xea\xe0\xea+\xef\xee\xe7\xe2\xee\xed\xe8\xf2\xfc”
преобразовать в хекс-эскейп формат?
Офлайн
Вам нужно байты прочтенные из файла превратить в питонячью строку, например так:
line = line.decode('string_escape')
Офлайн
Еще раз спасибо.
Офлайн