тензорный поток:: опс:: ЮникодТранскод
#include <string_ops.h>
Перекодируйте входной текст из исходной кодировки в целевую кодировку.
Краткое содержание
Входные данные представляют собой строковый тензор любой формы. Выходные данные представляют собой строковый тензор той же формы, содержащий перекодированные строки. Выходные строки всегда действительны в формате Unicode. Если входные данные содержат недопустимые позиции кодировки, атрибут 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")
Аргументы:
- область: объект области.
- ввод: текст для обработки. Может иметь любую форму.
- 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 )