Spec-Zone.ru › TensorFlow C++

tensorflow::ops::UnicodeTranscode

#include <string_ops.h>

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

Краткое описание

Входные данные — строковый тензор произвольной формы. Выходные данные — строковый тензор той же формы, содержащий преобразованные строки. Строки выходных данных всегда содержат допустимый текст Юникода. Если входные данные содержат позиции с некорректной кодировкой, атрибут 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". Для многобайтовых кодировок используется порядок байтов от старшего к младшему.

Необязательные атрибуты (см. 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
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 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
)

© 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