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 pengkodean 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.

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 menggunakan output_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
)