Odpowiedz już dziś na lokalne wydarzenie TensorFlow Everywhere!
Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

tensorflow :: ops :: UnicodeTranscode

#include <string_ops.h>

Transkoduj tekst wejściowy z kodowania źródłowego do kodowania docelowego.

Podsumowanie

Dane wejściowe to tensor struny o dowolnym kształcie. Dane wyjściowe to tensor łańcucha o tym samym kształcie, zawierający transkodowane ciągi. Ciągi wyjściowe są zawsze poprawnymi kodami Unicode. Jeśli dane wejściowe zawierają nieprawidłowe pozycje kodowania, atrybut errors określa zasady postępowania z nimi. Jeśli używana jest domyślna strategia obsługi błędów, nieprawidłowe formatowanie zostanie zastąpione w danych wyjściowych przez replacement_char . Jeśli zasada błędów ma ignore , wszelkie nieprawidłowe pozycje kodowania na wejściu są pomijane i nie są uwzględniane w danych wyjściowych. Jeśli jest ustawiony na strict każde nieprawidłowe formatowanie spowoduje błąd InvalidArgument.

Ta operacja może być używana z output_encoding = input_encoding aby wymusić prawidłowe formatowanie danych wejściowych, nawet jeśli są już w żądanym kodowaniu.

Jeśli wejście jest poprzedzone znacznikiem kolejności bajtów potrzebnym do określenia kodowania (np. Jeśli kodowanie to UTF-16, a BOM wskazuje big-endian), to BOM zostanie zużyty i nie zostanie wyemitowany na wyjście. Jeśli kodowanie wejściowe jest oznaczone jawną endiannością (np. UTF-16-BE), wówczas BOM jest interpretowane jako nierozdzielająca spacja i jest zachowywane na wyjściu (w tym zawsze dla UTF-8).

Końcowy rezultat jest taki, że jeśli dane wejściowe są oznaczone jako wyraźne endianness, transkodowanie jest wierne wszystkim punktom kodowym w źródle. Jeśli nie jest oznaczony wyraźnym endianem, zestawienie komponentów nie jest traktowane jako część samego ciągu, ale jako metadane, a zatem nie jest zachowywane w danych wyjściowych.

Przykłady:

tf.strings.unicode_transcode (["Hello", "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 = obiekt)

Argumenty:

  • zakres: obiekt Scope
  • wejście: tekst do przetworzenia. Może mieć dowolny kształt.
  • input_encoding: kodowanie tekstu ciągów wejściowych. Jest to dowolne z kodowań obsługiwanych przez konwertery algorytmiczne ICU ucnv. Przykłady: "UTF-16", "US ASCII", "UTF-8" .
  • output_encoding: kodowanie Unicode do użycia w danych wyjściowych. Musi być jednym z "UTF-8", "UTF-16-BE", "UTF-32-BE" . Kodowanie wielobajtowe będzie typu big-endian.

Atrybuty opcjonalne (patrz Attrs ):

  • błędy: zasady obsługi błędów w przypadku znalezienia nieprawidłowego formatowania w danych wejściowych. Wartość „strict” spowoduje, że operacja wygeneruje błąd InvalidArgument w przypadku dowolnego nieprawidłowego formatowania danych wejściowych. Wartość „replace” (wartość domyślna) spowoduje, że operacja zastąpi wszelkie nieprawidłowe formatowanie w danych wejściowych punktem kodu replacement_char znak_znaku. Wartość „ignore” spowoduje, że operacja pominie wszelkie nieprawidłowe formatowanie danych wejściowych i nie wygeneruje odpowiadającego mu znaku wyjściowego.
  • znak_zastępczy: Zastąpiony punkt kodowy znaku, który ma być użyty w miejsce nieprawidłowego formatowania danych wejściowych, gdy errors='replace' . Można użyć dowolnego prawidłowego punktu kodowego Unicode. Wartością domyślną jest domyślny znak zastępujący Unicode 0xFFFD lub U + 65533).

Należy zauważyć, że w przypadku UTF-8 przekazanie znaku zastępczego wyrażalnego w 1 bajcie, na przykład „”, zachowa wyrównanie łańcucha do źródła, ponieważ nieprawidłowe bajty zostaną zastąpione 1-bajtowym zamiennikiem. W przypadku UTF-16-BE i UTF-16-LE dowolny 1 lub 2-bajtowy znak zastępujący zachowa wyrównanie bajtów do źródła.

  • replace_control_characters: czy wymienić znaków sterujących C0 (00-1F) z replacement_char . Wartość domyślna to false.

Zwroty:

  • Output : tensor ciągu zawierający tekst Unicode zakodowany przy użyciu output_encoding .

Konstruktorzy i niszczyciele

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)

Atrybuty publiczne

operation
output

Funkcje publiczne

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

Publiczne funkcje statyczne

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

Struktury

tensorflow :: ops :: UnicodeTranscode :: Attrs

Opcjonalne metody ustawiające atrybuty dla UnicodeTranscode .

Atrybuty publiczne

operacja

Operation operation

wynik

::tensorflow::Output output

Funkcje publiczne

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
)

węzeł

::tensorflow::Node * node() const 

operator :: tensorflow :: Input

 operator::tensorflow::Input() const 

operator :: tensorflow :: Output

 operator::tensorflow::Output() const 

Publiczne funkcje statyczne

Błędy

Attrs Errors(
  StringPiece x
)

ReplaceControlCharacters

Attrs ReplaceControlCharacters(
  bool x
)

ReplaceChar

Attrs ReplacementChar(
  int64 x
)