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

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

Похожие вопросы
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
02 февр. 2025, в 00:55
2500 руб./за проект
02 февр. 2025, в 00:25
5000 руб./за проект
02 февр. 2025, в 00:18
1000 руб./за проект