Spec-Zone.ru › TensorFlow

tf.strings.unicode_transcode

Преобразует входной текст из исходной кодировки в целевую.

Просмотреть псевдонимы

Псевдонимы совместимости для миграции

Подробнее см. в руководстве по миграции.

tf.compat.v1.strings.unicode_transcode

tf.strings.unicode_transcode(
    input: Annotated[Any, _atypes.String],
    input_encoding: str,
    output_encoding: str,
    errors: str = 'replace',
    replacement_char: int = 65533,
    replace_control_characters: bool = False,
    name=None
) -> Annotated[Any, _atypes.String]

Используется в блокнотах

Используется в руководстве
  • Строки Unicode

Входные данные — строковый тензор произвольной формы. Результат — строковый тензор той же формы, содержащий преобразованные строки. Выходные строки всегда представляют собой корректный текст Unicode. Если входные данные содержат позиции с недопустимой кодировкой, атрибут errors задаёт способ их обработки. При использовании политики обработки ошибок по умолчанию недопустимые данные заменяются в результате на replacement_char. Если для ошибок выбрана политика ignore, все позиции с недопустимой кодировкой во входных данных пропускаются и не включаются в результат. Если задано значение strict, любые недопустимые данные приведут к ошибке InvalidArgument.

Эту операцию можно использовать с output_encoding = input_encoding, чтобы обеспечить корректность входных данных, даже если они уже представлены в требуемой кодировке.

Если входные данные начинаются с маркера порядка байтов, необходимого для определения кодировки (например, если кодировка — UTF-16, а BOM указывает на порядок байтов от старшего к младшему), этот BOM будет обработан и не попадёт в результат. Если для входной кодировки явно задан порядок байтов (например, UTF-16-BE), BOM интерпретируется как неразрывный пробел и сохраняется в результате (это всегда происходит для UTF-8).

Таким образом, если для входных данных явно задан порядок байтов, преобразование сохраняет все кодовые точки исходного текста. Если порядок байтов не задан явно, BOM не считается частью самой строки, а рассматривается как метаданные и поэтому не сохраняется в результате.

Примеры:

tf.strings.unicode_transcode(["Hello", "TensorFlow", "2.x"], "UTF-8", "UTF-16-BE")
<tf.Tensor: shape=(3,), dtype=string, numpy=
array([b'\x00H\x00e\x00l\x00l\x00o',
       b'\x00T\x00e\x00n\x00s\x00o\x00r\x00F\x00l\x00o\x00w',
       b'\x002\x00.\x00x'], dtype=object)>
tf.strings.unicode_transcode(["A", "B", "C"], "US ASCII", "UTF-8").numpy()
array([b'A', b'B', b'C'], dtype=object)
Аргументы
input Tensor типа string. Текст для обработки. Может иметь произвольную форму.
input_encoding string. Кодировка текста входных строк. Допускается любая кодировка, поддерживаемая алгоритмическими конвертерами ICU ucnv. Примеры: "UTF-16", "US ASCII", "UTF-8".
output_encoding string из: "UTF-8", "UTF-16-BE", "UTF-32-BE". Кодировка Unicode для выходных данных. Должна быть одной из "UTF-8", "UTF-16-BE", "UTF-32-BE". Для многобайтовых кодировок используется порядок байтов от старшего к младшему.
errors Необязательный string из: "strict", "replace", "ignore". По умолчанию — "replace". Политика обработки ошибок, возникающих при обнаружении недопустимых данных во входных строках. Значение 'strict' приводит к ошибке InvalidArgument при обнаружении любых недопустимых данных во входных строках. Значение 'replace' (по умолчанию) заменяет любые недопустимые данные во входных строках кодовой точкой replacement_char. Значение 'ignore' приводит к пропуску любых недопустимых данных во входных строках без добавления соответствующего символа в результат.
replacement_char Необязательный int. По умолчанию — 65533. Кодовая точка символа замены, используемая вместо недопустимых данных во входных строках, если задано errors='replace'. Можно использовать любую допустимую кодовую точку Unicode. По умолчанию используется стандартный символ замены Unicode — 0xFFFD или U+65533.)

Обратите внимание: для UTF-8 передача символа замены, представимого одним байтом, например ' ', сохраняет выравнивание строки относительно исходной, поскольку недопустимые байты заменяются однобайтовым символом. Для UTF-16-BE и UTF-16-LE любой символ замены размером в 1 или 2 байта сохраняет выравнивание байтов относительно исходных данных.

replace_control_characters Необязательный bool. По умолчанию — False. Указывает, следует ли заменять управляющие символы C0 (00–1F) на replacement_char. По умолчанию — false.
name Имя операции (необязательно).
Возвращает
Tensor типа string.

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/strings/unicode_transcode

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API