UnicodeTranscode

publiczna klasa końcowa UnicodeTranscode

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

Dane wejściowe to tensor strunowy o dowolnym kształcie. Dane wyjściowe to tensor ciągów o tym samym kształcie zawierający transkodowane ciągi. Ciągi wyjściowe są zawsze prawidłowym kodem Unicode. Jeśli dane wejściowe zawierają nieprawidłowe pozycje kodowania, atrybut „błędy” określa zasady postępowania z nimi. Jeśli używana jest domyślna polityka obsługi błędów, nieprawidłowe formatowanie zostanie zastąpione na wyjściu przez `replacement_char`. Jeśli polityką błędów jest „ignorowanie”, wszelkie nieprawidłowe pozycje kodowania na wejściu są pomijane i nie są uwzględniane w wynikach. Jeśli jest ustawiony na „ścisły”, każde nieprawidłowe formatowanie spowoduje błąd InvalidArgument.

Tej operacji można użyć z `output_encoding = input_encoding`, aby wymusić prawidłowe formatowanie danych wejściowych, nawet jeśli mają one już żądane kodowanie.

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

Efektem końcowym jest to, że jeśli dane wejściowe są oznaczone jako wyraźna endianowość, transkodowanie jest wierne wszystkim punktom kodowym w źródle. Jeśli nie jest oznaczony wyraźną końcówką, BOM nie jest uważany za część samego ciągu, ale jako metadane, a zatem nie jest zachowywany w danych wyjściowych.

Przykłady:

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

Klasy zagnieżdżone

klasa Opcje UnicodeTranscode Opcjonalne atrybuty dla UnicodeTranscode

Stałe

Strunowy OP_NAME Nazwa tej operacji znana silnikowi rdzenia TensorFlow

Metody publiczne

Dane wyjściowe <TString>
jako wyjście ()
Zwraca symboliczny uchwyt tensora.
statyczny UnicodeTranscode
utwórz ( Zakres zakresu, Operand < TString > wejście, String inputEncoding, String OutputEncoding, Opcje... opcje)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację UnicodeTranscode.
statyczne UnicodeTranscode.Options
błędy (błędy ciągu)
Dane wyjściowe <TString>
wyjście ()
Tensor ciągu zawierający tekst Unicode zakodowany przy użyciu `output_encoding`.
statyczne UnicodeTranscode.Options
zamieńControlCharacters (Boolean zamieńControlCharacters)
statyczne UnicodeTranscode.Options
wymianaChar (długa wymianaChar)

Metody dziedziczone

Stałe

publiczny statyczny końcowy ciąg znaków OP_NAME

Nazwa tej operacji znana silnikowi rdzenia TensorFlow

Wartość stała: „UnicodeTranscode”

Metody publiczne

publiczne wyjście < TString > asOutput ()

Zwraca symboliczny uchwyt tensora.

Dane wejściowe operacji TensorFlow są wynikami innej operacji TensorFlow. Ta metoda służy do uzyskania symbolicznego uchwytu reprezentującego obliczenia danych wejściowych.

public static UnicodeTranscode create ( Zakres zakresu, Operand < TString > wejście, String inputEncoding, String OutputEncoding, Opcje... opcje)

Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację UnicodeTranscode.

Parametry
zakres aktualny zakres
wejście Tekst do przetworzenia. Może mieć dowolny kształt.
kodowanie wejściowe 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”`.
kodowanie wyjściowe Kodowanie Unicode do użycia w danych wyjściowych. Musi to być jeden z `„UTF-8”, „UTF-16-BE”, „UTF-32-BE”`. Kodowanie wielobajtowe będzie typu big-endian.
opcje przenosi opcjonalne wartości atrybutów
Zwroty
  • nowa instancja UnicodeTranscode

publiczne statyczne błędy UnicodeTranscode.Options (błędy ciągu)

Parametry
błędy Zasady obsługi błędów w przypadku znalezienia nieprawidłowego formatowania na wejściu. Wartość „strict” spowoduje, że operacja wygeneruje błąd InvalidArgument w przypadku nieprawidłowego formatowania danych wejściowych. Wartość 'replace' (domyślna) spowoduje, że operacja zastąpi wszelkie nieprawidłowe formatowanie danych wejściowych punktem kodowym `replacement_char`. Wartość „ignore” spowoduje, że operacja pominie wszelkie nieprawidłowe formatowanie na wejściu i nie wygeneruje odpowiedniego znaku wyjściowego.

publiczne wyjście < TString > wyjście ()

Tensor ciągu zawierający tekst Unicode zakodowany przy użyciu `output_encoding`.

public static UnicodeTranscode.Options zamieńControlCharacters (Boolean zamieńControlCharacters)

Parametry
zamień znaki kontrolne Określa, czy zastąpić znaki kontrolne C0 (00-1F) znakiem `znak_zastępczy`. Wartość domyślna to fałsz.

public static UnicodeTranscode.Options zamianaChar (długa zamianaChar)

Parametry
wymianaChar Punkt kodowy znaku zastępczego, który ma zostać użyty zamiast nieprawidłowego formatowania danych wejściowych, gdy `błędy='zamień'`. Można zastosować dowolny ważny punkt kodowy Unicode. Wartość domyślna to domyślny znak zastępczy Unicode to 0xFFFD lub U+65533.)

Należy zauważyć, że w przypadku UTF-8 przekazanie znaku zastępczego wyrażonego w 1 bajcie, takiego jak „”, zachowa wyrównanie łańcucha do źródła, ponieważ nieprawidłowe bajty zostaną zastąpione jednobajtowym zastąpieniem. 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.