Pregunta

¿Cuál es TLV?

Para poner ganchos (funciones) en el código en lugar de if / else?

Si tengo una pieza de código que se ejecuta en diferentes plataformas, en diferentes lugares de código, puedo poner enlaces de funciones TLV para identificar qué plataforma Estoy en consecuencia y hacer? ¿O algo así?

beneficios pueden ser un código más limpio? ¿facil de mantener? Cuando se añade una nueva plataforma, sólo TLV necesidades código para cambiar y no el código fuente?

Puede que sea totalmente equivocado aquí.

¿Fue útil?

Solución

TLV es Tag-longitud-valor de codificación. A menudo es mejor mencionado por su nombre original, el tipo-longitud-valor.

El primer campo es el "tipo" de los datos que se procesa, el segundo campo especifica la "longitud" del valor, el tercer campo contiene una cantidad "longitud" de datos que representan el valor de la "tipo".

múltiples piezas de datos pueden ser transmitidos en el mismo mensaje anexando más tripletes a un mensaje previamente existente.

Hay una página en la wikipedia que lo cubre en tan sólo un poco más de detalle . No se confunda, sin embargo, cada triplete es una descripción "nivel superior", típicamente no hay anidación de elementos de TLV (aunque se podría llegar a una forma de hacerlo mediante la codificación de trillizos TLV en la V de otra etiqueta).

Otros consejos

TLV es una forma de almacenamiento de datos para facilitar el análisis rápido de los datos.

Normalmente, se lee el tipo (tag), longitud y valor y luego enviar los datum a una función de procesador. Esta funciones del procesador única función será la de tipo de proceso X. A continuación, se lee el siguiente tipo, su longitud y su valor y enviarlo al procesador apropiado.

Se utiliza típicamente como una manera fácil de procesar datos sin mucha sobrecarga adicional.

Todavía usamos TLV para dar formato a los datos. Y si queremos enviar los datos al receptor, preparamos un paquete TLV que es contener datas más Tag-longitud-valor. Por ejemplo;

Data Tag = DF 82 0A   
Data Length = 03  
Data Value =  30 31 32. 

cuando queremos enviarlo nos concatenar esto 3 datas más filas como DF 82 0A 03 30 31 32. Los paquetes de datos pueden contener una gran cantidad de datas más por el estilo.

Cuando el receptor conseguirlo, el análisis paquete es muy fácil y el receptor puede analizar todos los datos sin problemas.

de análisis de datos;

Datos: DF 82 0A 03 30 31 32 DF 82 0B 04 01 12 22 33

DF 82 0A y DF 82 0B son pre-definida (tipo de valor (BCD, HEX, ASCII)) las etiquetas. Cuando llegaron los datos, en un bucle, en primer lugar analizador buscará la etiqueta (es decir. DF 82 0A) y un byte más (datos LEN). También leerá los bytes de datos hasta len.

TLV se refiere a la codificación de valores de tipo-longitud-valor del trío, y esto forma más general se documenta en la Wikipedia .

En TLV de (como EMV) algún contexto se refiere a la X.690 más específica que es también documentada en la Wikipedia .

TLV tiene las siguientes ventajas:

  • formato de codificación relativamente compacto
  • relativamente simple para analizar (I escribió un analizador X.690 básico en un par de horas)
  • El TLV X.690 tiene soporte para tipos anidados (esta parte es un poco más complicado de analizar, pero por lo que puedo decir no se requiere para EMV)

mayor desventaja de TLV es que no es directamente legible por humanos. Obsérvese, sin embargo, si los datos se convierten en hexadecimal es sólo moderadamente difícil de leer.

Creo que lo que se está refiriendo a la que se llama Tipo Longitud Valor , y hay una wikipedia página por ello. Espero que ayude.

TLV: tag - longitud - valor

Ejemplo: 045002124354

Si tomamos como ejemplo que en la configuración: 045 es el significado de la Red número ganador en un programa de televisión de modo: el valor del número ganador es: 12

  • etiqueta : Búsqueda de la etiqueta, que es: 045
  • LONGITUD : longitud, por ejemplo, es el 3 posición de modo: 002
  • VALOR : Ahora el valor es: 12 (en posición 2)

TLV es útil para crear protocolos de comunicación. Se utiliza etiqueta, la longitud, el valor para almacenar la información. Se puede ver muy bella IMPLEMENTACIÓN (creo que la mejor) en github .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top