tensor akışı:: işlem:: UnicodeTranskod

#include <string_ops.h>

Giriş metnini kaynak kodlamasından hedef kodlamaya dönüştürün.

Özet

Giriş herhangi bir şekle sahip bir dize tensörüdür. Çıktı, kodu dönüştürülmüş dizeleri içeren aynı şekle sahip bir dize tensörüdür. Çıkış dizeleri her zaman geçerli unicode'dur. Giriş geçersiz kodlama konumları içeriyorsa, errors özelliği bunlarla nasıl başa çıkılacağına ilişkin politikayı belirler. Varsayılan hata işleme ilkesi kullanılırsa, çıktıda geçersiz biçimlendirme, replacement_char ile değiştirilecektir. Hata politikası ignore , girişteki tüm geçersiz kodlama konumları atlanır ve çıkışa dahil edilmez. Eğer strict olarak ayarlanırsa geçersiz biçimlendirme InvalidArgument hatasıyla sonuçlanacaktır.

Bu işlem, girdiler zaten istenen kodlamada olsa bile, girdiler için doğru biçimlendirmeyi uygulamak amacıyla output_encoding = input_encoding ile birlikte kullanılabilir.

Girişin önüne kodlamayı belirlemek için gereken bir Bayt Sırası İşareti eklenirse (örneğin, kodlama UTF-16 ise ve BOM big-endian'ı gösteriyorsa), o zaman bu Malzeme Listesi tüketilecek ve çıkışa aktarılmayacaktır. Giriş kodlaması açık bir endianness ile işaretlenmişse (örn. UTF-16-BE), malzeme listesi bölünemez bir boşluk olarak yorumlanır ve çıktıda korunur (her zaman UTF-8 için dahil).

Sonuçta, eğer girdi açık bir endianness olarak işaretlenmişse, kod dönüştürmenin kaynaktaki tüm kod noktalarına sadık kalması sağlanır. Açık bir endianness ile işaretlenmemişse, Malzeme Listesi dizenin kendisinin bir parçası olarak değil, meta veri olarak kabul edilir ve bu nedenle çıktıda korunmaz.

Örnekler:

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

Argümanlar:

  • kapsam: Bir Kapsam nesnesi
  • giriş: İşlenecek metin. Herhangi bir şekle sahip olabilir.
  • input_encoding: Giriş dizelerinin metin kodlaması. Bu, ICU ucnv algoritmik dönüştürücüleri tarafından desteklenen kodlamalardan herhangi biridir. Örnekler: "UTF-16", "US ASCII", "UTF-8" .
  • Output_encoding: Çıktıda kullanılacak unicode kodlama. "UTF-8", "UTF-16-BE", "UTF-32-BE" den biri olmalıdır. Çok baytlı kodlamalar büyük endian olacaktır.

İsteğe bağlı özellikler (bkz. Attrs ):

  • hatalar: Girişte geçersiz biçimlendirme bulunduğunda hata işleme politikası. 'Strict' değeri, işlemin herhangi bir geçersiz giriş biçimlendirmesinde InvalidArgument hatası üretmesine neden olur. 'Değiştir' değeri (varsayılan), işlemin girişteki geçersiz biçimlendirmeyi replacement_char kod noktasıyla değiştirmesine neden olur. 'Yoksay' değeri, işlemin girdideki herhangi bir geçersiz biçimlendirmeyi atlamasına ve buna karşılık gelen bir çıktı karakteri üretmemesine neden olur.
  • replacement_char: errors='replace' olduğunda girişteki geçersiz biçimlendirmenin yerine kullanılacak yedek karakter kod noktası. Geçerli herhangi bir unicode kod noktası kullanılabilir. Varsayılan değer, varsayılan unicode değiştirme karakterinin 0xFFFD veya U+65533 olmasıdır.)

UTF-8 için, ' ' gibi 1 bayt olarak ifade edilebilen bir değiştirme karakterinin iletilmesinin, geçersiz baytlar 1 baytlık bir değiştirmeyle değiştirileceği için kaynağa yönelik dize hizalamasını koruyacağını unutmayın. UTF-16-BE ve UTF-16-LE için, herhangi bir 1 veya 2 baytlık değiştirme karakteri, baytın kaynağa göre hizalamasını koruyacaktır.

  • replacement_control_characters: C0 kontrol karakterlerinin (00-1F) replacement_char ile değiştirilip değiştirilmeyeceği. Varsayılan yanlıştır.

İadeler:

  • Output : output_encoding kullanılarak kodlanmış unicode metni içeren bir dize tensörü.

Yapıcılar ve Yıkıcılar

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)

Genel özellikler

operation
output

Kamu işlevleri

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

Genel statik işlevler

Errors (StringPiece x)
ReplaceControlCharacters (bool x)
ReplacementChar (int64 x)

Yapılar

tensorflow:: ops:: UnicodeTranscode:: Öznitelikler

UnicodeTranscode için isteğe bağlı öznitelik ayarlayıcılar.

Genel özellikler

operasyon

Operation operation

çıktı

::tensorflow::Output output

Kamu işlevleri

UnicodeTranskod

 UnicodeTranscode(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  StringPiece input_encoding,
  StringPiece output_encoding
)

UnicodeTranskod

 UnicodeTranscode(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  StringPiece input_encoding,
  StringPiece output_encoding,
  const UnicodeTranscode::Attrs & attrs
)

düğüm

::tensorflow::Node * node() const 

operatör::tensorflow::Giriş

 operator::tensorflow::Input() const 

operatör::tensorflow::Çıktı

 operator::tensorflow::Output() const 

Genel statik işlevler

Hatalar

Attrs Errors(
  StringPiece x
)

Kontrol Karakterlerini Değiştir

Attrs ReplaceControlCharacters(
  bool x
)

YedekKarakter

Attrs ReplacementChar(
  int64 x
)