bytes.translate(table, /, delete=b'') bytearray.translate(table, /, delete=b'')
bytes
и bytearray
- соответствующие типы bytes
или bytearray
;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')