Spec-Zone.ru › TensorFlow

tf.raw_ops.UnicodeTranscode

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

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

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

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

tf.compat.v1.raw_ops.UnicodeTranscode

tf.raw_ops.UnicodeTranscode(
    input,
    input_encoding,
    output_encoding,
    errors='replace',
    replacement_char=65533,
    replace_control_characters=False,
    name=None
)

Входные данные — это строковый тензор произвольной формы. Выходные данные — строковый тензор той же формы, содержащий преобразованные строки. Выходные строки всегда являются корректными строками 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 любой однобайтовый или двухбайтовый символ замены сохранит выравнивание байтов относительно исходных данных.

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/raw_ops/UnicodeTranscode

Spec-Zone.ru

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