tensorflow :: ops :: UnicodeTranscode
#include <string_ops.h>
Transkoduj tekst wejściowy z kodowania źródłowego do kodowania docelowego.
streszczenie
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ą one 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 jawnym endianem, zestawienie komponentów nie jest traktowane jako część samego ciągu, ale jako metadane, a zatem nie jest zachowywane w danych wyjściowych.
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_zastępczy. 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).
Zauważ, ż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 zachowuje 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życiuoutput_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 )