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")
Аргументы:
- 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 | |
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::Вход
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