тензорный поток :: ops :: UnicodeTranscode
#include <string_ops.h>
Перекодируйте входной текст из исходной кодировки в целевую.
Резюме
Входные данные - это строковый тензор любой формы. На выходе получается тензор строк той же формы, содержащий транскодированные строки. Выходные строки всегда допустимы в Юникоде. Если входные данные содержат недопустимые позиции кодировки, атрибут errors
устанавливает политику того, как с ними бороться. Если используется политика обработки ошибок по умолчанию, недопустимое форматирование будет заменено в выводе на replacement_char
. Если политика ошибок заключается в ignore
, любые недопустимые позиции кодировки во входных данных пропускаются и не включаются в выходные. Если установлено strict
то любое недопустимое форматирование приведет к ошибке InvalidArgument.
Эту операцию можно использовать с output_encoding = input_encoding
чтобы обеспечить правильное форматирование для входных данных, даже если они уже находятся в желаемой кодировке.
Если входу предшествует метка порядка байтов, необходимая для определения кодировки (например, если кодировка - UTF-16, а в спецификации указан обратный порядок байтов), то эта спецификация будет использована, а не передана в выход. Если входная кодировка помечена явным порядком байтов (например, UTF-16-BE), то спецификация интерпретируется как неразрывный пробел и сохраняется в выходных данных (включая всегда для UTF-8).
Конечным результатом является то, что если вход помечен как явный порядок байтов, перекодирование соответствует всем кодовым точкам в источнике. Если он не отмечен явным порядком байтов, спецификация считается не частью самой строки, а метаданными, и поэтому не сохраняется в выходных данных.
Примеры:
tf.strings.unicode_transcode ([«Привет», «TensorFlow», «2.x»], «UTF-8», «UTF-16-BE»)
Аргументы:
- scope: объект Scope
- input: текст для обработки. Может иметь любую форму.
- input_encoding: текстовая кодировка входных строк. Это любая кодировка, поддерживаемая алгоритмическими преобразователями ICU ucnv. Примеры:
"UTF-16", "US ASCII", "UTF-8"
. - output_encoding: кодировка Unicode для использования в выводе. Должен быть одним из
"UTF-8", "UTF-16-BE", "UTF-32-BE"
. Многобайтовые кодировки будут с прямым порядком байтов.
Необязательные атрибуты (см. Attrs
):
- ошибки: политика обработки ошибок при обнаружении недопустимого форматирования во входных данных. Значение 'strict' приведет к тому, что операция вызовет ошибку InvalidArgument при любом недопустимом форматировании ввода. Значение «заменить» (по умолчанию) приведет к тому , что операция замены любого недопустимое форматирование на входе с
replacement_char
элемент кода. Значение 'ignore' заставит операцию пропускать любое недопустимое форматирование во входных данных и не создавать соответствующий выходной символ. - 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
. По умолчанию - false.
Возврат:
-
Output
: строковый тензор, содержащий текст вoutput_encoding
закодированный с использованием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) |
Структуры | |
---|---|
tenorflow :: 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
оператор :: тензорный поток :: Ввод
operator::tensorflow::Input() const
оператор :: tenorflow :: Выход
operator::tensorflow::Output() const
Публичные статические функции
Ошибки
Attrs Errors( StringPiece x )
ReplaceControlCharacters
Attrs ReplaceControlCharacters( bool x )
ReplacementChar
Attrs ReplacementChar( int64 x )