aliran tensor:: operasi:: UnicodeTranscode
#include <string_ops.h>
Transkode teks masukan dari pengkodean sumber ke pengkodean tujuan.
Ringkasan
Inputnya adalah tensor string dalam bentuk apa pun. Outputnya adalah tensor string dengan bentuk yang sama yang berisi string yang ditranskode. String keluaran selalu berupa unicode yang valid. Jika input berisi posisi pengkodean yang tidak valid, atribut errors
akan menetapkan kebijakan tentang cara menanganinya. Jika kebijakan penanganan kesalahan default digunakan, format yang tidak valid akan digantikan dalam output dengan replacement_char
. Jika kebijakan kesalahan adalah ignore
, posisi pengkodean apa pun yang tidak valid dalam masukan akan dilewati dan tidak disertakan dalam keluaran. Jika disetel ke strict
maka pemformatan apa pun yang tidak valid akan menghasilkan kesalahan InvalidArgument.
Operasi ini dapat digunakan dengan output_encoding = input_encoding
untuk menerapkan pemformatan yang benar untuk input meskipun input tersebut sudah dalam pengkodean yang diinginkan.
Jika input diawali dengan Tanda Urutan Byte yang diperlukan untuk menentukan pengkodean (misalnya jika pengkodeannya adalah UTF-16 dan BOM menunjukkan big-endian), maka BOM tersebut akan dikonsumsi dan tidak dipancarkan ke output. Jika pengkodean input ditandai dengan endianness eksplisit (misalnya UTF-16-BE), maka BOM ditafsirkan sebagai non-breaking-space dan dipertahankan dalam output (termasuk selalu untuk UTF-8).
Hasil akhirnya adalah jika masukan ditandai sebagai endianness eksplisit, transcoding akan setia pada semua titik kode di sumber. Jika tidak ditandai dengan endianness eksplisit, BOM tidak dianggap sebagai bagian dari string itu sendiri melainkan sebagai metadata, sehingga tidak disimpan dalam output.
Contoh:
tf.strings.unicode_transcode(["Halo", "TensorFlow", "2.x"], "UTF-8", "UTF-16-BE")
Argumen:
- ruang lingkup: Objek Lingkup
- input: Teks yang akan diproses. Bisa berbentuk apa saja.
- 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 menjadi big-endian.
Atribut opsional (lihat Attrs
):
- kesalahan: Kebijakan penanganan kesalahan ketika ditemukan format yang tidak valid pada input. Nilai 'strict' akan menyebabkan operasi menghasilkan kesalahan InvalidArgument pada format input apa pun yang tidak valid. Nilai 'ganti' (default) akan menyebabkan operasi mengganti format yang tidak valid pada input dengan titik kode
replacement_char
. Nilai 'abaikan' akan menyebabkan operasi melewatkan format apa pun yang tidak valid pada masukan dan tidak menghasilkan karakter keluaran yang sesuai. - replacement_char: Titik kode karakter pengganti yang akan digunakan sebagai pengganti format yang tidak valid pada input ketika
errors='replace'
. Titik kode unicode apa pun yang valid dapat digunakan. Nilai default karakter pengganti unicode default adalah 0xFFFD atau U+65533.)
Perhatikan bahwa untuk UTF-8, meneruskan karakter pengganti yang dapat diekspresikan dalam 1 byte, seperti ' ', akan mempertahankan penyelarasan string ke 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 penyelarasan byte ke sumbernya.
- replace_control_characters: Apakah akan mengganti karakter kontrol C0 (00-1F) dengan
replacement_char
. Standarnya salah.
Pengembalian:
-
Output
: 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 | Penyetel atribut opsional untuk UnicodeTranscode . |
Atribut publik
operasi
Operation operation
keluaran
::tensorflow::Output output
Fungsi publik
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 )
simpul
::tensorflow::Node * node() const
operator::tensorflow::Masukan
operator::tensorflow::Input() const
operator::tensorflow::Keluaran
operator::tensorflow::Output() const
Fungsi statis publik
Kesalahan
Attrs Errors( StringPiece x )
GantiControlCharacters
Attrs ReplaceControlCharacters( bool x )
PenggantianChar
Attrs ReplacementChar( int64 x )