tensorflow::ops::UnicodeTranscode
#include <string_ops.h>
Транскодировать входной текст из исходной кодировки в кодировку назначения.
Краткое описание
Вход — это тензор строк любой формы. Выход — это тензор строк той же формы, содержащий транскодированные строки. Строки выхода всегда являются допустимым юникодом. Если вход содержит недопустимые позиции кодирования, атрибут 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(["Привет", "TensorFlow", "2.x"], "UTF-8", "UTF-16-BE")
Аргументы:
- scope: Объект Scope
- input: Текст для обработки. Может иметь любую форму.
- input_encoding: Кодировка текста входных строк. Это любая из кодировок, поддерживаемых алгоритмическими преобразователями ICU ucnv. Примеры:
"UTF-16", "US ASCII", "UTF-8". - output_encoding: Кодировка юникода для использования в выходе. Должна быть одной из
"UTF-8", "UTF-16-BE", "UTF-32-BE". Многобайтовые кодировки будут иметь порядок байтов big-endian.
Необязательные атрибуты (см. Attrs):
- errors: Политика обработки ошибок, когда в входе обнаружен некорректный формат. Значение 'strict' заставит операцию сгенерировать ошибку InvalidArgument при любом некорректном формате ввода. Значение 'replace' (по умолчанию) заставит операцию заменить любой некорректный формат ввода на
replacement_charкод точки. Значение 'ignore' заставит операцию пропустить любой некорректный формат ввода и не производить соответствующий выходной символ. - replacement_char: Код точки замены, используемый вместо любого некорректного форматирования во входе, когда
errors='replace'. Любой допустимый юникод-код может быть использован. Значение по умолчанию — стандартный символ замены юникода 0xFFFD или U+65533.
Обратите внимание, что для UTF-8 передача символа замены, выразимого в 1 байте, такого как ' ', сохранит выравнивание строки с исходником, так как недопустимые байты будут заменены символом замены длиной 1 байт. Для UTF-16-BE и UTF-16-LE любой символ замены длиной 1 или 2 байта сохранит выравнивание байтов с исходником.
- replace_control_characters: Заменять ли управляющие символы C0 (00-1F) на
replacement_char. Значение по умолчанию — false.
Возвращает:
-
Output: Тензор строк, содержащий текст юникода, закодированный с использованиемoutput_encoding.
| Конструкторы и деструкторы | |
|---|---|
UnicodeTranscode(const ::tensorflow::Scope & scope, ::tensorflow::Input input, StringPiece input_encoding, StringPiece output_encoding) | |
UnicodeTranscode(const ::tensorflow::Scope & scope, ::tensorflow::Input input, StringPiece input_encoding, StringPiece output_encoding, const UnicodeTranscode::Attrs & attrs) |
| Общедоступные атрибуты | |
|---|---|
operation | |
output | |
| Общедоступные функции | |
|---|---|
node() const | ::tensorflow::Node * |
operator::tensorflow::Input() const | |
operator::tensorflow::Output() const | |
| Общедоступные статические функции | |
|---|---|
Errors(StringPiece x) | |
ReplaceControlCharacters(bool x) | |
ReplacementChar(int64 x) | |
| Структуры | |
|---|---|
| tensorflow::ops::UnicodeTranscode::Attrs | Необязательные параметры настройки для UnicodeTranscode. |
Общедоступные атрибуты
operation
Operation operation
output
::tensorflow::Output output
Общедоступные функции
UnicodeTranscode
UnicodeTranscode( const ::tensorflow::Scope & scope, ::tensorflow::Input input, StringPiece input_encoding, StringPiece output_encoding )
UnicodeTranscode
UnicodeTranscode( const ::tensorflow::Scope & scope, ::tensorflow::Input input, StringPiece input_encoding, StringPiece output_encoding, const UnicodeTranscode::Attrs & attrs )
node
::tensorflow::Node * node() const
operator::tensorflow::Input
operator::tensorflow::Input() const
operator::tensorflow::Output
operator::tensorflow::Output() const
Общедоступные статические функции
Errors
Attrs Errors( StringPiece x )
ReplaceControlCharacters
Attrs ReplaceControlCharacters( bool x )
ReplacementChar
Attrs ReplacementChar( int64 x )
© 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/versions/r2.9/api_docs/cc/class/tensorflow/ops/unicode-transcode