flux tensoriel : : opérations : : UnicodeTranscode
#include <string_ops.h>
Transcodez le texte saisi d’un encodage source vers un encodage de destination.
Résumé
L'entrée est un tenseur de chaîne de n'importe quelle forme. La sortie est un tenseur de chaînes de même forme contenant les chaînes transcodées. Les chaînes de sortie sont toujours unicode valide. Si l'entrée contient des positions de codage non valides, l'attribut errors
définit la politique sur la manière de les traiter. Si la politique de gestion des erreurs par défaut est utilisée, le formatage non valide sera remplacé dans la sortie par le replacement_char
. Si la politique d'erreurs consiste à ignore
, toutes les positions de codage non valides dans l'entrée sont ignorées et ne sont pas incluses dans la sortie. S'il est défini sur strict
, tout formatage non valide entraînera une erreur InvalidArgument.
Cette opération peut être utilisée avec output_encoding = input_encoding
pour appliquer un formatage correct pour les entrées même si elles sont déjà dans l'encodage souhaité.
Si l'entrée est préfixée par une marque d'ordre d'octet nécessaire pour déterminer le codage (par exemple, si le codage est UTF-16 et que la nomenclature indique big-endian), alors cette nomenclature sera consommée et non émise dans la sortie. Si le codage d'entrée est marqué d'un endianisme explicite (par exemple UTF-16-BE), alors la nomenclature est interprétée comme un espace insécable et est conservée dans la sortie (y compris toujours pour UTF-8).
Le résultat final est que si l'entrée est marquée comme étant un boutisme explicite, le transcodage est fidèle à tous les points de code de la source. Si elle n'est pas marquée d'un endianisme explicite, la nomenclature n'est pas considérée comme faisant partie de la chaîne elle-même mais comme des métadonnées, et n'est donc pas conservée dans la sortie.
Exemples :
tf.strings.unicode_transcode(["Bonjour", "TensorFlow", "2.x"], "UTF-8", "UTF-16-BE")
Arguments :
- scope : un objet Scope
- input : Le texte à traiter. Peut avoir n'importe quelle forme.
- input_encoding : codage du texte des chaînes d'entrée. Il s'agit de l'un des codages pris en charge par les convertisseurs algorithmiques ICU ucnv. Exemples :
"UTF-16", "US ASCII", "UTF-8"
. - output_encoding : l'encodage Unicode à utiliser dans la sortie. Doit être l'un des éléments
"UTF-8", "UTF-16-BE", "UTF-32-BE"
. Les encodages multi-octets seront big-endian.
Attributs facultatifs (voir Attrs
) :
- erreurs : politique de gestion des erreurs lorsqu'un formatage non valide est trouvé dans l'entrée. La valeur de « strict » entraînera la production d’une erreur InvalidArgument sur tout formatage d’entrée non valide. Une valeur de « replace » (la valeur par défaut) entraînera le remplacement par l'opération de tout formatage non valide dans l'entrée par le point de code
replacement_char
. Une valeur de « ignorer » entraînera l'opération à ignorer tout formatage non valide dans l'entrée et à ne produire aucun caractère de sortie correspondant. - remplacement_char : le point de code du caractère de remplacement à utiliser à la place de tout formatage non valide dans l'entrée lorsque
errors='replace'
. Tout point de code Unicode valide peut être utilisé. La valeur par défaut est que le caractère de remplacement Unicode par défaut est 0xFFFD ou U+65533.)
Notez que pour UTF-8, le passage d'un caractère de remplacement exprimable sur 1 octet, tel que « », préservera l'alignement de la chaîne sur la source puisque les octets non valides seront remplacés par un remplacement de 1 octet. Pour UTF-16-BE et UTF-16-LE, tout caractère de remplacement de 1 ou 2 octets préservera l’alignement des octets sur la source.
- replace_control_characters : s'il faut remplacer les caractères de contrôle C0 (00-1F) par le
replacement_char
. La valeur par défaut est fausse.
Retours :
-
Output
: un tenseur de chaîne contenant du texte Unicode codé à l'aideoutput_encoding
.
Constructeurs et Destructeurs | |
---|---|
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) |
Attributs publics | |
---|---|
operation | |
output |
Fonctions publiques | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
Fonctions statiques publiques | |
---|---|
Errors (StringPiece x) | |
ReplaceControlCharacters (bool x) | |
ReplacementChar (int64 x) |
Structures | |
---|---|
tensorflow :: ops :: UnicodeTranscode :: Attrs | Setters d'attributs facultatifs pour UnicodeTranscode . |
Attributs publics
opération
Operation operation
sortir
::tensorflow::Output output
Fonctions publiques
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 )
nœud
::tensorflow::Node * node() const
opérateur :: tensorflow :: Entrée
operator::tensorflow::Input() const
opérateur :: tensorflow :: Sortie
operator::tensorflow::Output() const
Fonctions statiques publiques
Erreurs
Attrs Errors( StringPiece x )
RemplacerControlCharacters
Attrs ReplaceControlCharacters( bool x )
Char de remplacement
Attrs ReplacementChar( int64 x )