tensorflow:: ops:: UnicodeTranscode

#include <string_ops.h>

Transkodowanie tekstu wejściowego z kodowania źródłowego na kodowanie docelowe.

Streszczenie

Dane wejściowe to tensor ciągu znaków o dowolnym kształcie. Dane wyjściowe to tensor ciągu znaków o tym samym kształcie, zawierający transkodowane ciągi znaków. Ciągi wyjściowe są zawsze w poprawnym formacie Unicode. Jeśli dane wejściowe zawierają nieprawidłowe pozycje kodowania, atrybut errors określa sposób postępowania w takich przypadkach. Jeśli używana jest domyślna polityka obsługi błędów, nieprawidłowe formatowanie zostanie zastąpione w danych wyjściowych wartością replacement_char . Jeśli zasada errors ma wartość ignore , wszelkie nieprawidłowe pozycje kodowania w danych wejściowych są pomijane i nie są uwzględniane w danych wyjściowych. Jeśli ustawiono ją na strict , każde nieprawidłowe formatowanie spowoduje błąd InvalidArgument.

Operację tę można wykonać razem z output_encoding = input_encoding , aby wymusić poprawne formatowanie danych wejściowych, nawet jeśli są już w pożądanym kodowaniu.

Jeśli dane wejściowe są poprzedzone znakiem kolejności bajtów (BOM) potrzebnym do określenia kodowania (np. jeśli kodowanie to UTF-16, a BOM wskazuje na big-endian), to ten BOM zostanie wykorzystany i nie zostanie wyemitowany do wyjścia. Jeśli kodowanie wejściowe jest oznaczone jawną kolejnością bajtów (np. UTF-16-BE), to BOM jest interpretowany jako nierozdzielająca spacja i jest zachowywany w wyjściu (również zawsze dla UTF-8).

W rezultacie, jeśli dane wejściowe są oznaczone jako jawnie zgodne z kolejnością bajtów, transkodowanie jest zgodne ze wszystkimi punktami kodowymi w źródle. Jeśli nie są oznaczone jawnie zgodnym z kolejnością bajtów, BOM nie jest traktowany jako część samego ciągu, lecz jako metadane i dlatego nie jest zachowywany w danych wyjściowych.

Argumenty:

  • zakres: obiekt zakresu
  • dane wejściowe: Tekst do przetworzenia. Może mieć dowolny kształt.
  • input_encoding: Kodowanie tekstu ciągów wejściowych. Jest to dowolne kodowanie obsługiwane przez algorytmiczne konwertery ucnv firmy ICU. 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" . Kodowania wielobajtowe będą w formacie big-endian.

Atrybuty opcjonalne (patrz Attrs ):

  • Errors: Polityka obsługi błędów w przypadku wykrycia nieprawidłowego formatowania w danych wejściowych. Wartość „strict” spowoduje, że operacja zgłosi błąd InvalidArgument w przypadku każdego nieprawidłowego formatowania danych wejściowych. Wartość „replace” (domyślna) spowoduje, że operacja zastąpi wszelkie nieprawidłowe formatowanie w danych wejściowych punktem kodowym replacement_char . Wartość „ignore” spowoduje, że operacja pominie wszelkie nieprawidłowe formatowanie w danych wejściowych i nie wygeneruje odpowiadającego mu znaku wyjściowego.
  • replacement_char: Punkt kodowy znaku zastępczego, który ma zostać użyty w miejsce nieprawidłowego formatowania w 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ępczy Unicode 0xFFFD lub U+65533.

Należy pamiętać, że w przypadku UTF-8 przekazanie znaku zastępczego wyrażonego w 1 bajcie, takiego jak „ ”, zachowa wyrównanie ciągu do źródła, ponieważ nieprawidłowe bajty zostaną zastąpione 1-bajtowym zamiennikiem. W przypadku UTF-16-BE i UTF-16-LE każdy 1- lub 2-bajtowy znak zastępczy zachowa wyrównanie bajtów do źródła.

  • replace_control_characters: Czy zastąpić znaki sterujące C0 (00-1F) znakiem replacement_char . Domyślnie jest to fałsz.

Zwroty:

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

Konstruktory i destruktory

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 settery atrybutów dla UnicodeTranscode .

Atrybuty publiczne

działanie

Operation operation

wyjście

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

Zastąp znaki kontrolne

Attrs ReplaceControlCharacters(
  bool x
)

Zamiennik znaku

Attrs ReplacementChar(
  int64 x
)