ML Topluluk Günü 9 Kasım! TensorFlow, JAX güncellemeler için bize katılın ve daha fazla bilgi edinin

tensorflow :: ops :: UnicodeTranscode

#include <string_ops.h>

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

Özet

Girdi, herhangi bir şeklin bir string tensörüdür. Çıktı, kodu dönüştürülmüş dizeleri içeren aynı şekle sahip bir dize tensörüdür. Çıktı dizeleri her zaman geçerli unicode'dur. Giriş geçersiz kodlama pozisyonları içeriyorsa, errors özniteliği bunlarla nasıl başa çıkılacağına ilişkin politikayı belirler. Varsayılan hata işleme ilkesi kullanılırsa, geçersiz biçimlendirme çıktıda replace_char ile replacement_char . Hata ilkesi ignore sayılacaksa, girdideki geçersiz kodlama konumları atlanır ve çıktıya dahil edilmez. strict ayarlanırsa, herhangi bir geçersiz biçimlendirme InvalidArgument hatasıyla sonuçlanacaktır.

Bu işlem, zaten istenen kodlamada olsalar bile girdiler için doğru biçimlendirmeyi zorlamak için output_encoding = input_encoding ile kullanılabilir.

Giriş, kodlamayı belirlemek için gerekli olan bir Bayt Sırası İşareti ile ön eklenmişse (örneğin, kodlama UTF-16 ise ve BOM büyük-endian'ı gösteriyorsa), bu BOM tüketilecek ve çıktıya gönderilmeyecektir. Giriş kodlaması açık bir sonluluk ile işaretlenmişse (örn. UTF-16-BE), BOM bölünemez boşluk olarak yorumlanır ve çıktıda korunur (her zaman UTF-8 dahil).

Sonuç olarak, girdinin açık bir sonluk olarak işaretlenmesi durumunda, kod dönüştürmenin kaynaktaki tüm kod noktalarına sadık kalmasıdır. Açık bir şekilde işaretlenmemişse, BOM dizenin kendisinin bir parçası olarak değil, meta veri olarak kabul edilir ve dolayısıyla çıktıda korunmaz.

Argümanlar:

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

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

  • hatalar: Girişte geçersiz biçimlendirme bulunduğunda hata işleme politikası. 'Katı' değeri, işlemin herhangi bir geçersiz girdi biçimlendirmesinde bir InvalidArgument hatası üretmesine neden olur. 'Yerine' (varsayılan) değeri, operasyon ile giriş herhangi geçersiz biçimlendirme yerine neden olacaktır replacement_char kod noktasıyla. 'Yoksay' değeri, işlemin girdideki herhangi bir geçersiz biçimlendirmeyi atlamasına ve karşılık gelen çıktı karakteri üretmemesine neden olur.
  • replace_char: errors='replace' olduğunda, girdideki herhangi bir geçersiz biçimlendirme yerine kullanılacak yedek karakter kod noktası. Herhangi bir geçerli unicode kod noktası kullanılabilir. Varsayılan değer, varsayılan unicode değiştirme karakteri 0xFFFD veya U + 65533'tür.)

UTF-8 için, '' gibi 1 baytta ifade edilebilir bir değiştirme karakteri geçirmenin, geçersiz baytlar 1 baytlık bir değişimle değiştirileceğinden, kaynakla dize hizalamasını koruyacağını unutmayın. UTF-16-BE ve UTF-16-LE için, herhangi bir 1 veya 2 bayt değiştirme karakteri, kaynağa bayt hizalamasını koruyacaktır.

  • replace_control_characters: C0 kontrol karakterlerinin (00-1F) replace_char ile replacement_char . Varsayılan yanlıştır.

İadeler:

  • Output : output_encoding kullanılarak kodlanmış unicode metin 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

Kamusal işlevler

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

UnicodeTranscode için isteğe bağlı öznitelik belirleyiciler.

Genel özellikler

operasyon

Operation operation

çıktı

::tensorflow::Output output

Kamusal işlevler

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
)

düğüm

::tensorflow::Node * node() const 

operator :: tensorflow :: Girdi

 operator::tensorflow::Input() const 

operator :: tensorflow :: Çıktı

 operator::tensorflow::Output() const 

Genel statik işlevler

Hatalar

Attrs Errors(
  StringPiece x
)

ReplaceControlCharacters

Attrs ReplaceControlCharacters(
  bool x
)

ReplaceChar

Attrs ReplacementChar(
  int64 x
)