tensorflow :: ops :: UnicodeTranscode

#include <string_ops.h>

Transcode teks input dari pengkodean sumber ke pengkodean tujuan.

Ringkasan

Input adalah tensor string dalam bentuk apa pun. Keluarannya adalah tensor string dengan bentuk yang sama yang berisi string yang ditranskode. String keluaran selalu merupakan unicode yang valid. Jika masukan berisi posisi pengkodean yang tidak valid, atribut errors menyetel kebijakan tentang cara menanganinya. Jika kebijakan penanganan kesalahan default digunakan, pemformatan yang tidak valid akan diganti dalam output oleh replacement_char . Jika kebijakan kesalahan ignore , setiap posisi pengkodean 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 bisa digunakan dengan output_encoding = input_encoding untuk memaksakan pemformatan yang benar untuk input meskipun sudah dalam encoding yang diinginkan.

Jika input diawali dengan Byte Order Mark yang diperlukan untuk menentukan encoding (misalnya jika encodingnya UTF-16 dan BOM menunjukkan big-endian), maka BOM tersebut akan dipakai dan tidak dipancarkan ke output. Jika pengkodean masukan ditandai dengan ketangguhan eksplisit (misalnya UTF-16-BE), maka BOM diinterpretasikan sebagai ruang non-breaking dan dipertahankan dalam keluaran (termasuk selalu untuk UTF-8).

Hasil akhirnya adalah jika input ditandai sebagai endianness eksplisit, transcoding setia ke semua titik kode dalam sumber. Jika tidak ditandai dengan endian eksplisit, BOM tidak dianggap sebagai bagian dari string itu sendiri tetapi sebagai metadata, dan karenanya tidak disimpan dalam keluaran.

Contoh:

tf.strings.unicode_transcode (["Halo", "TensorFlow", "2.x"], "UTF-8", "UTF-16-BE") tf.strings.unicode_transcode (["A", "B", "C"], "US ASCII", "UTF-8"). larik numpy () ([b'A ', b'B', b ' C '], dtype = object)

Argumen:

  • scope: Objek Scope
  • input: Teks yang akan diproses. Bisa berbentuk apa saja.
  • input_encoding: Pengkodean teks dari string masukan. Ini adalah salah satu pengkodean yang didukung oleh konverter algoritmik ucnv ICU. Contoh: "UTF-16", "US ASCII", "UTF-8" .
  • output_encoding: Pengkodean unicode untuk digunakan dalam keluaran. Harus salah satu dari "UTF-8", "UTF-16-BE", "UTF-32-BE" . Pengodean multi-byte akan menjadi big-endian.

Atribut opsional (lihat Attrs ):

  • kesalahan: Kebijakan penanganan kesalahan ketika ada format yang tidak valid ditemukan dalam masukan. Nilai 'strict' akan menyebabkan operasi menghasilkan kesalahan InvalidArgument pada pemformatan masukan yang tidak valid. Nilai 'replace' (default) akan menyebabkan operasi mengganti format yang tidak valid dalam input dengan titik kode replacement_char . Nilai 'ignore' akan menyebabkan operasi melewati pemformatan yang tidak valid dalam input dan tidak menghasilkan karakter output yang sesuai.
  • replacement_char: Titik kode karakter pengganti yang akan digunakan sebagai pengganti pemformatan yang tidak valid dalam input saat errors='replace' . Setiap unicode codepoint valid dapat digunakan. Nilai defaultnya adalah 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 penggantian 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 . Defaultnya salah.

Pengembalian:

  • Output : Tensor string yang berisi teks unicode yang dienkode menggunakan output_encoding .

Pembuat dan Penghancur

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)

Structs

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 :: Input

 operator::tensorflow::Input() const 

operator :: tensorflow :: Keluaran

 operator::tensorflow::Output() const 

Fungsi statis publik

Kesalahan

Attrs Errors(
  StringPiece x
)

ReplaceControlCharacters

Attrs ReplaceControlCharacters(
  bool x
)

PenggantianChar

Attrs ReplacementChar(
  int64 x
)