Сообщить об ошибке.

Метод translate() типов bytes и bytearray в Python

Транслировать байтовую строку в соответствии с таблицей байтов

Синтаксис:

bytes.translate(table, /, delete=b'')

bytearray.translate(table, /, delete=b'')

Параметры:

Возвращаемое значение:

  • копия объекта bytes или bytearray.

Описание:

Метод translate() возвращает копию объекта bytes или bytearray, где все байты, встречающиеся в необязательном аргументе delete, удаляются, а оставшиеся байты будут сопоставлены через заданную таблицу преобразования table, которая должна быть объектом bytes длиной 256.

Для создания таблицы преобразования table используйте метод maketrans().

Для того, что бы просто удалить символы в байтовой строке установите аргумент table=None, а в аргумент delete передайте строку байтов, которые надо удалить:

>>> b'read this short text'.translate(None, b'aeiou')
# b'rd ths shrt txt'

>>> b'read this short text'.translate(table=None, delete=b'aeiou')
# b'rd ths shrt txt'

Эти методы для объектов bytes и bytearray имеют поведение по умолчанию, которое предполагает использование двоичных форматов, совместимых с ASCII, но все же может использоваться с произвольными двоичными данными путем передачи соответствующих аргументов.

Обратите внимание, что метод bytearray.translate() не изменяет bytearray строку, а вместо этого создают новый объект, так же как с неизменяемым объектом bytes.

Примеры использования:

>>> a = b'HW '
>>> b = b'WH-'
>>> tbl = bytes.maketrans(a, b)
>>> bytes_str = b'Hello Word'
>>> bytes_str.translate(tbl)
# b'Wello-Hord'

>>> a = bytearray(b'HW ')
>>> b = bytearray(b'WH-')
>>> tbl = bytearray.maketrans(a, b)
>>> byte_arr = bytearray(b'Hello Word')
>>> byte_arr.translate(tbl)
# bytearray(b'Wello-Hord')