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") tf.strings.unicode_transcode(["A", "B", "C"], "US ASCII", "UTF-8"). numpy() array([b'A', b'B', b' C'], tipod=objeto)

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 usando output_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
)