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")
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 | |
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
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. |
---|