/
IvanKhabarov
/
python
Обзор
Документация
Войти
/
IvanKhabarov
/
python
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Lections/Lesson3/bytes_bytearray/about
35 строк
2 KB
Ivan Khabarov
Добвлены Классы bytes и bytearray
05 сен 2024, 11:34
05 сен 2024, 11:34
c45b452
Код
Авторство
О чём код?
6. Классы bytes и bytearray Уделим несколько строк лекции неизменяемым байтам и их изменяемой версии — массиву байт. Для отправки информации по каналам связи объекты не подойдут. Даже текст не отправить. А вот пересылать байты — легко. text_en = 'Hello world!' res = text_en.encode('utf-8') print(res, type(res)) text_ru = 'Привет, мир!' res = text_ru.encode('utf-8') print(res, type(res)) Строковой метод encode получает в качестве аргумента указание кодировки. На выходе получаем строку байт. Функция print возвращает строковое представление байт, сами ячейки памяти с электронами невозможно увидеть невооруженным глазом. b'Hello world!' b'\xd0\x9f\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82, \xd0\xbc\xd0\xb8\xd1\x80!' Префикс b говорит о том, что перед нами не строка, а байты. Если байт может быть представлен как символ, т.е. он есть в семибитной кодировке ASCII. отображается символ. В остальных случаях указывается приставка \x и слитно с ней шестнадцатеричное представление байта. Для получения набора байт можно использовать функцию bytes. А если необходимо изменять байт, использую функцию bytearray. x = bytes(b'\xd0\x9f\xd1\x80\xd0\xb8') y = bytearray(b'\xd0\x9f\xd1\x80\xd0\xb8') print(f'{x = }\n{y = }') В качестве аргумента передаётся строковое представление нужным байт. Классы байт и массив байт обладают практически всеми методами строк. Кроме того для массива байт доступны методы модификации списка list.