tensorflow::ops::UnicodeTranscode

#include <string_ops.h>

Преобразовать входной текст из исходной кодировки в целевую кодировку.

Краткое содержание

Входные данные представляют собой строковый тензор любой формы. Выходные данные представляют собой строковый тензор той же формы, содержащий транскодированные строки. Выходные строки всегда являются допустимыми символами Юникода. Если входные данные содержат недопустимые позиции кодировки, атрибут errors задает политику обработки таких данных. Если используется политика обработки ошибок по умолчанию, недопустимый формат будет заменен в выходных данных символом replacement_char . Если политика errors установлена ​​на ignore , любые недопустимые позиции кодировки во входных данных пропускаются и не включаются в выходные данные. Если установлено значение strict то любой недопустимый формат приведет к ошибке InvalidArgument.

Эта операция может использоваться с output_encoding = input_encoding для обеспечения правильного форматирования входных данных, даже если они уже имеют желаемую кодировку.

Если входные данные начинаются с метки порядка байтов (BIM), необходимой для определения кодировки (например, если кодировка UTF-16, а BOM указывает на порядок байтов big-endian), то эта метка будет обработана и не будет выведена на выход. Если входная кодировка помечена явным указанием порядка байтов (например, UTF-16-BE), то BOM интерпретируется как неразрывный пробел и сохраняется на выходе (включая случай, когда используется UTF-8).

В итоге, если входные данные помечены как имеющие явный порядок байтов, транскодирование будет точно соответствовать всем кодовым точкам в исходном коде. Если же порядок байтов не указан явно, метка порядка байтов (BOM) не считается частью самой строки, а рассматривается как метаданные, и поэтому не сохраняется в выходных данных.

Аргументы:

  • scope: Объект Scope
  • Входные данные: текст для обработки. Может иметь любую форму.
  • 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' . Может использоваться любая допустимая кодовая точка Юникода. Значение по умолчанию — это стандартный символ замены Юникода 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

выход

::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
)

узел

::tensorflow::Node * node() const 

оператор::tensorflow::Input

 operator::tensorflow::Input() const 

оператор::tensorflow::Output

 operator::tensorflow::Output() const 

Открытые статические функции

Ошибки

Attrs Errors(
  StringPiece x
)

ReplaceControlCharacters

Attrs ReplaceControlCharacters(
  bool x
)

ЗаменаСимвола

Attrs ReplacementChar(
  int64 x
)