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życiuoutput_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 )