тензорный поток:: опс:: ЮникодТранскод

#include <string_ops.h>

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

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

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

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

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

Конечным результатом является то, что если входные данные помечены как явный порядок байтов, транскодирование соответствует всем кодовым точкам в источнике. Если он не отмечен явным порядком байтов, спецификация не считается частью самой строки, а является метаданными и поэтому не сохраняется в выходных данных.

Аргументы:

  • область: объект области .
  • ввод: текст для обработки. Может иметь любую форму.
  • input_encoding: текстовая кодировка входных строк. Это любая из кодировок, поддерживаемых алгоритмическими преобразователями ICU ucnv. Примеры: "UTF-16", "US ASCII", "UTF-8" .
  • output_encoding: кодировка Юникода, используемая в выводе. Должен быть одним из "UTF-8", "UTF-16-BE", "UTF-32-BE" . Многобайтовые кодировки будут иметь обратный порядок байтов.

Необязательные атрибуты (см. Attrs ):

  • ошибки: политика обработки ошибок, когда во входных данных обнаружено недопустимое форматирование. Значение 'strict' приведет к тому, что операция выдаст ошибку InvalidArgument при любом недопустимом форматировании входных данных. Значение replace (по умолчанию) приведет к тому, что операция заменит любое недопустимое форматирование во входных данных кодовой точкой replacement_char . Значение «игнорировать» приведет к тому, что операция пропустит любое недопустимое форматирование во входных данных и не выдаст соответствующий выходной символ.
  • replace_char: код символа замены, который будет использоваться вместо любого недопустимого форматирования во входных данных, когда errors='replace' . Можно использовать любой действительный код Unicode. Значением по умолчанию является символ замены Юникода по умолчанию: 0xFFFD или U+65533.)

Обратите внимание, что для UTF-8 передача символа замены, выражаемого в 1 байте, например ' ', сохранит выравнивание строки по источнику, поскольку недопустимые байты будут заменены 1-байтовой заменой. Для UTF-16-BE и UTF-16-LE любой символ замены размером 1 или 2 байта сохранит выравнивание байтов по отношению к источнику.

  • replace_control_characters: заменять ли управляющие символы C0 (00-1F) на replacement_char . По умолчанию — ложь.

Возврат:

  • 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(
  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
)

узел

::tensorflow::Node * node() const 

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

 operator::tensorflow::Input() const 

оператор::tensorflow::Выход

 operator::tensorflow::Output() const 

Публичные статические функции

Ошибки

Attrs Errors(
  StringPiece x
)

ЗаменитьControlCharacters

Attrs ReplaceControlCharacters(
  bool x
)

ЗаменаChar

Attrs ReplacementChar(
  int64 x
)