tensorflow::ops::UnicodeTranscode
#include <string_ops.h>
Транскодировать входной текст из исходной кодировки в целевую кодировку.
Summary
Ввод — это строковый тензор любой формы. Вывод — это строковый тензор той же формы, содержащий транскодированные строки. Строки вывода всегда являются допустимыми строками Юникод. Если вход содержит недопустимые позиции кодирования, атрибут errors устанавливает политику обработки таких позиций. Если используется политика обработки ошибок по умолчанию, недопустимый формат будет заменён в выводе на replacement_char. Если политика ошибок — ignore, любые недопустимые позиции кодирования во входных данных будут пропущены и не будут включены в выходные данные. Если она установлена в strict, любой недопустимый формат приведёт к ошибке InvalidArgument.
Эта операция может использоваться с output_encoding = input_encoding для обеспечения корректного форматирования ввода, даже если он уже находится в желаемой кодировке.
Если вход начинается с метки порядка байтов, необходимой для определения кодировки (например, если кодировка UTF-16, а BOM указывает на большой порядок байтов), эта BOM будет использована и не будет передана в выходные данные. Если кодировка ввода отмечена явной endianностью (например, UTF-16-BE), BOM интерпретируется как пробел и сохраняется в выходных данных (включая всегда для UTF-8).
В итоге, если вход отмечен явной endianностью, транскодирование точно соответствует всем кодовым точкам в исходных данных. Если endianность не отмечена явно, BOM не считается частью самой строки, а как метаданные, поэтому не сохраняется в выходных данных.
Примеры:
tf.strings.unicode_transcode(["Hello", "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 )
© 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/cc/class/tensorflow/ops/unicode-transcode