Spec-Zone.ru › TensorFlow C++

tensorflow::ops::UnicodeTranscode

#include <string_ops.h>

Транскодировать входной текст из исходного кодирования в кодирование назначения.

Резюме

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

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

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

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

Примеры:

tf.strings.unicode_transcode(["Hello", "TensorFlow", "2.x"], "UTF-8", "UTF-16-BE") tf.strings.unicode_transcode(["A", "B", "C"], "US ASCII", "UTF-8").numpy() array([b'A', b'B', b'C'], dtype=object)

Аргументы:

  • 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
Operation
output
::tensorflow::Output
Общедоступные функции
node() const
::tensorflow::Node *
operator::tensorflow::Input() const
operator::tensorflow::Output() const
Общедоступные статические функции
Errors(StringPiece x)
Attrs
ReplaceControlCharacters(bool x)
Attrs
ReplacementChar(int64 x)
Attrs
Структуры
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::Вход

operator::tensorflow::Input() const 

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

operator::tensorflow::Output() const 

Общедоступные статические функции

Ошибки

Attrs Errors(
  StringPiece x
)

ЗаменитьУправляющиеСимволы

Attrs ReplaceControlCharacters(
  bool x
)

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

Attrs ReplacementChar(
  int64 x
)

© 2022 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/api_docs/cc/class/tensorflow/ops/unicode-transcode

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API