str.encode()
Метод encode() преобразует строку (str) в объект bytes с использованием указанной кодировки. Это основной способ перевести текст в байтовое представление для записи в файл, передачи по сети или работы с устройствами.
Сигнатура
str.encode(encoding='utf-8', errors='strict')
Параметры
encoding— название кодировки (например,'utf-8','ascii','cp1251'). По умолчанию'utf-8'.errors— стратегия обработки ошибок:'strict'(по умолчанию — исключение),'ignore'(пропустить),'replace'(заменить на?),'xmlcharrefreplace','backslashreplace'и др.
Возвращаемое значение
Объект bytes — байтовое представление строки.
Примеры использования
Пример 1. Кодирование в UTF-8.
text = "Arduino"
print(text.encode())
b'Arduino'
Пример 2. Кириллица в UTF-8.
Один кириллический символ занимает 2 байта в UTF-8:
text = "Алаш"
print(text.encode("utf-8"))
b'\xd0\x90\xd0\xbb\xd0\xb0\xd1\x88'
Пример 3. Ошибка при ASCII.
try:
"Привет".encode("ascii")
except UnicodeEncodeError as e:
print("Ошибка:", e)
Ошибка: 'ascii' codec can't encode characters in position 0-5: ordinal not in range(128)
Пример 4. Игнорирование непригодных символов.
print("Hello, Алаш!".encode("ascii", errors="ignore"))
print("Hello, Алаш!".encode("ascii", errors="replace"))
b'Hello, !'
b'Hello, ????!'
Пример 5. Отправка строки по Serial-порту.
import serial # требуется pyserial
# ser = serial.Serial("COM3", 9600)
# ser.write("LED_ON\n".encode("utf-8"))
payload = "LED_ON\n".encode("utf-8")
print(payload)
b'LED_ON\n'
См. также
str.format() — форматирование строк
str.join() — объединение строк
Примечание
Лицензия и источники
Техническое описание метода адаптировано из официальной документации Python (https://docs.python.org), доступной под Python Software Foundation License Version 2. Перевод на русский, примеры использования и пояснения — © AlashEd Wiki.