Red de conocimiento informático - Problemas con los teléfonos móviles - Formato TLV y códec

Formato TLV y códec

Casi todos los datos que hay que transmitir entre la tarjeta y el terminal están en formato TLV.

Déjame ponerte un ejemplo para una rápida comprensión:

TLV es la abreviatura de etiqueta, longitud y valor. Un elemento de datos básico incluye los tres campos anteriores. La etiqueta identifica de forma única el elemento de datos y la longitud es la longitud del campo de valor. es un tlv. El formato de la cadena de bytes AID (Identificador de aplicación) es "9F0607A0000000031010", donde 9F06 es la etiqueta, 07 es la longitud y A0000000031010 es el valor del propio AID.

Para Programadores, si hay algo similar a lo anterior. Dicha cadena de cadenas de bytes codificadas en TLV se transmite desde la tarjeta, cómo extraer los datos que queremos de ella. Esto implica el problema de decodificar TLV.

TLV. es un formato variable, TLV. Significa: tipo de tipo, longitud de longitud, valor de valor

Las longitudes de Tipo y Longitud son fijas, generalmente 2 o 4 bytes

La longitud de; El valor se especifica por Longitud;

Método de análisis:

1. Lea el tipo y convierta a ntohl, ntohs al orden de bytes del host para obtener el desplazamiento del puntero 2 o 4

2. Lea la longitud, convierta a ntohl, ntohs y convierta al orden de bytes del host para obtener la longitud; el puntero se compensa en 2 o 4

3. Lea el valor de acuerdo con la longitud obtenida. , y el puntero está desplazado por la Longitud;

La codificación TLV significa codificar la Etiqueta primero, luego codificar la Longitud y finalmente codificar el Valor.