|
|||||||
Байты (bytes и bytearray)
Время создания: 29.07.2019 23:51
Раздел: Разные закладки - Python - Типы данных в Python
Запись: xintrea/mytetra_db_adgaver_new/master/base/1533761817ne9h5n60hj/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Байтовые строки в Python - что это такое и с чем это едят? Байтовые строки очень похожи на обычные строки , но с некоторыми отличиями. Попробуем выяснить, с какими. Что такое байты? Байт - минимальная единица хранения и обработки цифровой информации. Последовательность байт представляет собой какую-либо информацию (текст, картинку, мелодию...). Создаём байтовую строку: >>> >>> b'bytes' b'bytes' >>> 'Байты'.encode('utf-8') b'\xd0\x91\xd0\xb0\xd0\xb9\xd1\x82\xd1\x8b' >>> bytes('bytes', encoding = 'utf-8') b'bytes' >>> bytes([50, 100, 76, 72, 41]) b'2dLH)' Если первые три способа нам уже известны (тут , тут и тут ), то последний нужно пояснить. Функция bytes принимает список чисел от 0 до 255 и возвращает байты, получающиеся применением функции chr. >>> >>> chr(50) '2' >>> chr(100) 'd' >>> chr(76) 'L' Что делать с байтами? Хотя байтовые строки поддерживают практически все строковые методы, с ними мало что нужно делать. Обычно их надо записать в файл / прочесть из файла и преобразовать во что-либо другое (конечно, если очень хочется, то можно и распечатать). Для преобразования в строку используется метод decode: >>> >>> b'\xd0\x91\xd0\xb0\xd0\xb9\xd1\x82\xd1\x8b'.decode('utf-8') 'Байты' BytearrayBytearray в python - массив байт. От типа bytes отличается только тем, что является изменяемым. Про него, в общем-то, больше рассказать нечего. >>> >>> b = bytearray(b'hello world!') >>> b bytearray(b'hello world!') >>> b[0] 104 >>> b[0] = b'h' Traceback (most recent call last): File "", line 1, in b[0] = b'h' TypeError: an integer is required >>> b[0] = 105 >>> b bytearray(b'iello world!') >>> for i in range(len(b)): ... b[i] += i ... >>> b bytearray(b'ifnos%}vzun,') |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|