flujo tensor:: operaciones:: UnicodeTranscodificar
#include <string_ops.h>
Transcodifique el texto de entrada de una codificación de origen a una codificación de destino.
Resumen
La entrada es un tensor de cuerda de cualquier forma. La salida es un tensor de cuerda de la misma forma que contiene las cadenas transcodificadas. Las cadenas de salida siempre son Unicode válidas. Si la entrada contiene posiciones de codificación no válidas, el atributo errors
establece la política sobre cómo tratarlas. Si se utiliza la política de manejo de errores predeterminada, el formato no válido se sustituirá en la salida por replacement_char
. Si la política de errores es ignore
, cualquier posición de codificación no válida en la entrada se omite y no se incluye en la salida. Si se establece en strict
, cualquier formato no válido dará como resultado un error de Argumento inválido.
Esta operación se puede utilizar con output_encoding = input_encoding
para aplicar el formato correcto a las entradas incluso si ya están en la codificación deseada.
Si la entrada tiene como prefijo una marca de orden de bytes necesaria para determinar la codificación (por ejemplo, si la codificación es UTF-16 y la BOM indica big-endian), entonces esa BOM se consumirá y no se emitirá en la salida. Si la codificación de entrada está marcada con un endianness explícito (por ejemplo, UTF-16-BE), entonces la lista de materiales se interpreta como un espacio sin separación y se conserva en la salida (incluso siempre para UTF-8).
El resultado final es que si la entrada se marca como endianidad explícita, la transcodificación es fiel a todos los puntos de código en la fuente. Si no está marcado con un endianness explícito, la lista de materiales no se considera parte de la cadena en sí, sino metadatos y, por lo tanto, no se conserva en la salida.
Ejemplos:
tf.strings.unicode_transcode(["Hola", "TensorFlow", "2.x"], "UTF-8", "UTF-16-BE")
Argumentos:
- alcance: un objeto de alcance
- entrada: El texto a procesar. Puede tener cualquier forma.
- input_encoding: codificación de texto de las cadenas de entrada. Esta es cualquiera de las codificaciones admitidas por los convertidores algorítmicos ICU ucnv. Ejemplos:
"UTF-16", "US ASCII", "UTF-8"
. - Output_encoding: la codificación Unicode que se utilizará en la salida. Debe ser uno de
"UTF-8", "UTF-16-BE", "UTF-32-BE"
. Las codificaciones multibyte serán big-endian.
Atributos opcionales (ver Attrs
):
- errores: política de manejo de errores cuando se encuentra un formato no válido en la entrada. El valor de 'estricto' hará que la operación produzca un error InvalidArgument en cualquier formato de entrada no válido. Un valor de 'reemplazar' (el valor predeterminado) hará que la operación reemplace cualquier formato no válido en la entrada con el punto de código
replacement_char
. Un valor de 'ignorar' hará que la operación omita cualquier formato no válido en la entrada y no produzca ningún carácter de salida correspondiente. - replacement_char: el punto de código del carácter de reemplazo que se utilizará en lugar de cualquier formato no válido en la entrada cuando
errors='replace'
. Se puede utilizar cualquier punto de código Unicode válido. El valor predeterminado es que el carácter de reemplazo Unicode predeterminado es 0xFFFD o U+65533).
Tenga en cuenta que para UTF-8, pasar un carácter de reemplazo expresable en 1 byte, como ' ', preservará la alineación de la cadena con el origen, ya que los bytes no válidos se reemplazarán con un reemplazo de 1 byte. Para UTF-16-BE y UTF-16-LE, cualquier carácter de reemplazo de 1 o 2 bytes preservará la alineación de bytes con el origen.
- replace_control_characters: si se deben reemplazar los caracteres de control C0 (00-1F) con
replacement_char
. El valor predeterminado es falso.
Devoluciones:
-
Output
: un tensor de cadena que contiene texto Unicode codificado usandooutput_encoding
.
Constructores y destructores | |
---|---|
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) |
Atributos públicos | |
---|---|
operation | |
output |
Funciones públicas | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
Funciones estáticas públicas | |
---|---|
Errors (StringPiece x) | |
ReplaceControlCharacters (bool x) | |
ReplacementChar (int64 x) |
estructuras | |
---|---|
tensorflow:: operaciones:: UnicodeTranscode:: Atributos | Configuradores de atributos opcionales para UnicodeTranscode . |
Atributos públicos
operación
Operation operation
producción
::tensorflow::Output output
Funciones públicas
UnicodeTranscodificar
UnicodeTranscode( const ::tensorflow::Scope & scope, ::tensorflow::Input input, StringPiece input_encoding, StringPiece output_encoding )
UnicodeTranscodificar
UnicodeTranscode( const ::tensorflow::Scope & scope, ::tensorflow::Input input, StringPiece input_encoding, StringPiece output_encoding, const UnicodeTranscode::Attrs & attrs )
nodo
::tensorflow::Node * node() const
operador::tensorflow::Entrada
operator::tensorflow::Input() const
operador::tensorflow::Salida
operator::tensorflow::Output() const
Funciones estáticas públicas
Errores
Attrs Errors( StringPiece x )
Reemplazar caracteres de control
Attrs ReplaceControlCharacters( bool x )
ReemplazoChar
Attrs ReplacementChar( int64 x )