tensorflow::ops::UnicodeTranscode
#include <string_ops.h>Mengubah kode teks masukan dari pengkodean sumber ke pengkodean tujuan.
Ringkasan
Inputnya adalah tensor string dengan bentuk apa pun. Outputnya adalah tensor string dengan bentuk yang sama yang berisi string yang telah ditranskode. String output selalu berupa Unicode yang valid. Jika input berisi posisi pengkodean yang tidak valid, atribut errors menetapkan kebijakan tentang cara menanganinya. Jika kebijakan penanganan kesalahan default digunakan, format yang tidak valid akan diganti dalam output dengan replacement_char . Jika kebijakan errors adalah ignore , posisi pengkodean yang tidak valid dalam input akan dilewati dan tidak disertakan dalam output. Jika diatur ke strict , maka format yang tidak valid akan menghasilkan kesalahan InvalidArgument.
Operasi ini dapat digunakan dengan output_encoding = input_encoding untuk memastikan format yang benar untuk input meskipun input tersebut sudah dalam pengkodean yang diinginkan.
Jika input diawali dengan Byte Order Mark (BOM) yang diperlukan untuk menentukan pengkodean (misalnya jika pengkodeannya UTF-16 dan BOM menunjukkan big-endian), maka BOM tersebut akan dikonsumsi dan tidak dikeluarkan ke dalam output. Jika pengkodean input ditandai dengan endianness eksplisit (misalnya UTF-16-BE), maka BOM diinterpretasikan sebagai spasi non-pemisah dan dipertahankan dalam output (termasuk selalu untuk UTF-8).
Hasil akhirnya adalah jika input ditandai dengan endianness eksplisit, transcoding akan setia pada semua codepoint dalam sumber. Jika tidak ditandai dengan endianness eksplisit, BOM tidak dianggap sebagai bagian dari string itu sendiri tetapi sebagai metadata, dan karenanya tidak dipertahankan dalam output.
Argumen:
- Cakupan: Objek Cakupan
- Input: Teks yang akan diproses. Dapat berupa bentuk apa pun.
- input_encoding: Pengkodean teks dari string input. Ini adalah salah satu pengkodean yang didukung oleh konverter algoritmik ICU ucnv. Contoh:
"UTF-16", "US ASCII", "UTF-8". - output_encoding: Pengkodean Unicode yang akan digunakan dalam output. Harus salah satu dari
"UTF-8", "UTF-16-BE", "UTF-32-BE". Pengkodean multi-byte akan menggunakan format big-endian.
Atribut opsional (lihat Attrs ):
- Kesalahan: Kebijakan penanganan kesalahan ketika ditemukan format yang tidak valid dalam input. Nilai 'strict' akan menyebabkan operasi menghasilkan kesalahan InvalidArgument pada format input yang tidak valid. Nilai 'replace' (default) akan menyebabkan operasi mengganti format yang tidak valid dalam input dengan codepoint
replacement_char. Nilai 'ignore' akan menyebabkan operasi melewati format yang tidak valid dalam input dan tidak menghasilkan karakter output yang sesuai. - replacement_char: Kode karakter pengganti yang akan digunakan untuk menggantikan format yang tidak valid dalam input ketika
errors='replace'. Kode Unicode valid apa pun dapat digunakan. Nilai defaultnya adalah karakter pengganti Unicode default yaitu 0xFFFD atau U+65533.
Perlu dicatat bahwa untuk UTF-8, meneruskan karakter pengganti yang dapat dinyatakan dalam 1 byte, seperti ' ', akan mempertahankan perataan string terhadap sumber karena byte yang tidak valid akan diganti dengan pengganti 1 byte. Untuk UTF-16-BE dan UTF-16-LE, karakter pengganti 1 atau 2 byte apa pun akan mempertahankan perataan byte terhadap sumber.
- replace_control_characters: Menentukan apakah karakter kontrol C0 (00-1F) akan diganti dengan
replacement_char. Nilai default adalah false.
Mengembalikan:
-
Output: Sebuah tensor string yang berisi teks Unicode yang dikodekan menggunakanoutput_encoding.
Konstruktor dan Destruktor | |
|---|---|
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) |
Atribut publik | |
|---|---|
operation | |
output | |
Fungsi publik | |
|---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const | |
Fungsi statis publik | |
|---|---|
Errors (StringPiece x) | |
ReplaceControlCharacters (bool x) | |
ReplacementChar (int64 x) | |
Struktur | |
|---|---|
| tensorflow::ops::UnicodeTranscode::Attrs | Pengaturan atribut opsional untuk UnicodeTranscode . |
Atribut publik
operasi
Operation operation
keluaran
::tensorflow::Output output
Fungsi publik
Transkode Unikode
UnicodeTranscode( const ::tensorflow::Scope & scope, ::tensorflow::Input input, StringPiece input_encoding, StringPiece output_encoding )
Transkode Unikode
UnicodeTranscode( const ::tensorflow::Scope & scope, ::tensorflow::Input input, StringPiece input_encoding, StringPiece output_encoding, const UnicodeTranscode::Attrs & attrs )
simpul
::tensorflow::Node * node() const
operator::tensorflow::Input
operator::tensorflow::Input() const
operator::tensorflow::Output
operator::tensorflow::Output() const
Fungsi statis publik
Kesalahan
Attrs Errors( StringPiece x )
Ganti Karakter Kontrol
Attrs ReplaceControlCharacters( bool x )
PenggantianChar
Attrs ReplacementChar( int64 x )