Я работал над проектом, в котором я кодирую числа как символы. Привыкнув к C ++, я предположил, что могу просто использовать любое 8-битное число и привести его к символу. Однако функция python chr () возвращает символы Unicode, которые не являются 8-битными, поэтому работать не будут.
Я новичок в Python, и из того, что я прочитал, в предыдущих версиях были две отдельные функции: chr()
для символов ASCII и unichr()
для символов Юникода.
Я также ограничен тем, что могу получить в стандартной python библиотеке для windows (нам не разрешено устанавливать модули с pip).
Обычно это может быть хорошо, но вот пример когда это может испортить мою программу: если я кодирую целое число 143:
# this is not taken from my actual code
num = 143
c = chr(143)
print(c)
, я ожидаю, что это напечатает символ ASCII (заглавная буква A с маленьким кружком над ним). Вместо этого я получаю Unicode \x8f
, который представляет «SS3» (Single Shift 3).
TL; DR: я конвертирую 8-битные числа в символы, но chr () конвертирует в Unicode, и мне REALLY нужен способ конвертации в ASCII, но Кажется, я не могу найти его в стандартной библиотеке.
Я знаю, что это такая простая проблема, и очень неприятно застревать на этом всех вещей.
Заранее большое спасибо!
Хорошего дня!
- Влад