tensorflow::ops::UnicodeTranscode
#include <string_ops.h>
Транскодировать входной текст из исходной кодировки в кодировку назначения.
Краткое описание
Вход — это строковый тензор любой формы. Выход — это строковый тензор той же формы, содержащий транскодированные строки. Строки вывода всегда являются валидными unicode. Если вход содержит позиции с невалидной кодировкой, атрибут errors задаёт политику обработки этих позиций. Если используется политика обработки ошибок по умолчанию, невалидное форматирование будет заменено в выходе на replacement_char. Если политика обработки ошибок — ignore, любые невалидные позиции кодировки во входе пропускаются и не включаются в выходные данные. Если она установлена на strict, то любое невалидное форматирование приведёт к ошибке InvalidArgument.
Эта операция может быть использована с output_encoding = input_encoding для обеспечения корректного форматирования ввода даже если он уже в желаемой кодировке.
Если вход начинается с символа следования байтов (BOM), необходимого для определения кодировки (например, если кодировка UTF-16, а BOM указывает на большой порядок байтов), то этот BOM будет использован и не будет выведен в выходные данные. Если кодировка ввода отмечена явным указанием порядка байтов (например, UTF-16-BE), то BOM интерпретируется как незаменимый пробел и сохраняется в выходе (включая всегда для UTF-8).
В результате, если вход отмечен явным указанием порядка байтов, то транскодирование точно отобразит все символы в исходном кодировании. Если он не отмечен явным указанием порядка байтов, то BOM не рассматривается как часть самой строки, а как метаданные, и поэтому не сохраняется в выходе.
Аргументы:
- scope: Объект Scope
- input: Текст, который должен быть обработан. Может иметь любую форму.
- input_encoding: Кодировка текста входных строк. Это любая из кодировок, поддерживаемых алгоритмическими преобразователями ICU ucnv. Примеры:
"UTF-16", "US ASCII", "UTF-8". - output_encoding: Кодировка unicode, используемая в выходе. Должна быть одной из
"UTF-8", "UTF-16-BE", "UTF-32-BE". Многобайтовые кодировки будут иметь порядок байтов big-endian.
Необязательные атрибуты (см. Attrs):
- errors: Политика обработки ошибок при обнаружении невалидного форматирования во входе. Значение 'strict' заставит операцию генерировать ошибку InvalidArgument при любом невалидном форматировании ввода. Значение 'replace' (по умолчанию) заставит операцию заменить любое невалидное форматирование во входе на символ
replacement_char. Значение 'ignore' заставит операцию пропустить любое невалидное форматирование ввода и не генерировать соответствующий символ вывода. - replacement_char: Код символа замены, который будет использоваться вместо любого невалидного форматирования во входе, когда
errors='replace'. Любой допустимый символ unicode может быть использован. Значение по умолчанию — символ замены unicode по умолчанию — 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: Строковый тензор, содержащий текст unicode, закодированный с использованием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/r1.15/api_docs/cc/class/tensorflow/ops/unicode-transcode