Spec-Zone.ru › TensorFlow 2.4

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 указывает на big-endian), этот 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 A Tensor типа string. Текст, который будет обработан. Может иметь любую форму.
input_encoding A string. Кодирование текста входных строк. Это любое из кодирований, поддерживаемых алгоритмическими преобразователями ICU ucnv. Примеры: "UTF-16", "US ASCII", "UTF-8".
output_encoding A string из: "UTF-8", "UTF-16-BE", "UTF-32-BE". Кодирование Юникод для использования в выводе. Должно быть одним из "UTF-8", "UTF-16-BE", "UTF-32-BE". Многобайтовые кодирования будут big-endian.
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 Имя операции (необязательно).
Возвращаемое значение
A 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.4/api_docs/python/tf/strings/unicode_transcode

Spec-Zone.ru

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