Spec-Zone.ru › TensorFlow 2.3

tf.strings.unicode_transcode

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

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

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

Дополнительные сведения см. в руководстве по миграции.

tf.compat.v1.strings.unicode_transcode

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

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

Данная операция может использоваться с output_encoding = input_encoding для обеспечения правильного форматирования входов даже если они уже в требуемой кодировке.

Если вход начинается с управляющего символа порядка байтов (BOM), необходимого для определения кодировки (например, если кодировка 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". Кодировка Юникода для использования в выходе. Должна быть одной из "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'. Можно использовать любую допустимую кодовую точку Юникода. Значение по умолчанию — стандартный символ замены Юникода — 0xFFFD или U+65533.)

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

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

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

Spec-Zone.ru

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