tensorflow::ops::UnicodeTranscode
#include <string_ops.h>
Транскодировать входной текст из исходной кодировки в кодировку назначения.
Summary
Входной параметр — тензор строк любой формы. Выходной параметр — тензор строк той же формы, содержащий транскодированные строки. Выходные строки всегда являются допустимым Юникодом. Если вход содержит недопустимые позиции кодировки, атрибут 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")
Аргументы:
- 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, передача символа замены, выражаемого одним байтом, такого как ' ', сохранит выравнивание строки со стороной источника, поскольку недопустимые байты будут заменены символом замены длиной в один байт. Для 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 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/cc/class/tensorflow/ops/unicode-transcode