Мог Перечисление со справкой Атрибута Флагов, возможно? Посмотрите здесь:
В Python 2.6 байты - это просто псевдоним для str .
Этот «псевдотип» был введен для [частичной] подготовки программ [и программистов!] К преобразованию / совместимости с Python 3.0, где есть строгое различие семантики и использования для str (которые систематически являются Unicode) и байтов (которые являются массивами октетов, для хранения данных, но не текста)
Точно так же префикс b для строковых литералов неэффективен в версии 2.6, но это полезный маркер в программе, который явно указывает на намерение программиста иметь строку как строка данных, а не текстовая строка. Эта информация затем может быть использована конвертером 2to3 или аналогичными утилитами при переносе программы на Py3k.
Вы можете проверить этот вопрос SO для получения дополнительной информации.
Я не уверен, с какой версии, но байта
на самом деле является строчкой
, которую вы можете увидеть, если наберете тип (байты (b "привет"))
->
.
bytearray
- изменяемый массив байтов, один конструктор которого принимает строку.
Я пробовал это на Python 3.0.
В Python 3.0 был байтов
итератор возвращает int
s, а не строки, как Python 2.6:
for i in bytes(b"hi"):
print(type(i))
Дает:
<class 'int'>
<class 'int'>
A bytearray
итератор также возвращает класс 'int'
s.