Задать вопрос
@Nahs

Как перевести кириллицу в ASCII?

Использую Python3.
Есть строка
strTxt = 'ной'
Пытаюсь ее преобразовать в ascii. Что-то не выходит.
x = 'ной'.encode(encoding='ascii')
UnicodeEncodeError: 'ascii' codec cant encode characters in position 0-2: ordinal not in range(128)

x = b'ной'
SyntaxError: bytes can only contain ASCII literal characters.

for char in 'ной':
    x=b''
    r = (ord(char) & 0xff)
    x += r.to_bytes(1,byteorder='big')	

print(x) 
b'9'


на выходе должна преобразиться в следующий вид
b'\xed\xee\xe9'
  • Вопрос задан
  • 3818 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@nirvimel
Ваша загадочная кодировка называется cp1251.
'ной'.encode('cp1251') == b'\xed\xee\xe9'
Но учитывайте, что этот пережиток прошлого не соответствует стандарту unicode. На современных ОС с такой кодировкой могут быть проблемы. Для современных переносимых решений лучше использовать utf8, как сказал pygame.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы