@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'
  • Вопрос задан
  • 3650 просмотров
Решения вопроса 1
@nirvimel
Ваша загадочная кодировка называется cp1251.
'ной'.encode('cp1251') == b'\xed\xee\xe9'
Но учитывайте, что этот пережиток прошлого не соответствует стандарту unicode. На современных ОС с такой кодировкой могут быть проблемы. Для современных переносимых решений лучше использовать utf8, как сказал pygame.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
28 апр. 2024, в 20:14
700 руб./за проект
28 апр. 2024, в 20:09
9000 руб./за проект
28 апр. 2024, в 19:54
2000 руб./за проект