it-swarm-eu.dev

qu'est-ce que tlv (tag-length-value)?

Qu'est-ce que c'est?

Mettre des crochets (fonctions) dans le code au lieu de if/else?

si j'ai un élément de code exécuté sur différentes plates-formes, à différents endroits du code, je peux mettre des crochets tlv pour identifier la plate-forme sur laquelle je me trouve et le faire en conséquence? Ou quelque chose comme ça?

les avantages peuvent être un code plus propre? facile à maintenir? Quand une nouvelle plate-forme est ajoutée, seul le code tlv doit changer et pas le code source?

Je peux être complètement faux ici.

18
hari

TLV est le codage Tag-longueur-valeur. Il est souvent préférable de faire référence à son nom d'origine, type-longueur-valeur.

Le premier champ est le "type" de données en cours de traitement, le deuxième champ spécifie la "longueur" de la valeur, le troisième champ contient une "longueur" quantité de données représentant la valeur du "type".

Plusieurs éléments de données peuvent être transmis dans le même message en ajoutant plusieurs triplets à un message existant précédemment.

Il y a une page sur wikipedia couvrant cela dans juste un peu plus en détail . Ne vous y trompez pas, chaque triplet est une description de "niveau supérieur", il n'y a généralement pas d'imbrication d'éléments dans TLV (bien que vous puissiez trouver un moyen de le faire en codant les triplets TLV dans le V d'une autre balise).

25
Edwin Buck

TLV est un moyen de stocker des données pour faciliter une analyse rapide de ces données. 

En règle générale, vous lisez le type (balise), la longueur et la valeur, puis envoyez ces données à une fonction de processeur. Ce processeur ne fonctionnera que pour traiter le type X. Ensuite, vous lirez le type suivant, sa longueur et sa valeur, puis l'enverrez au processeur approprié.

Il est généralement utilisé comme un moyen simple de traiter des données sans trop de charge supplémentaire.

12
KevinDTimm

Nous utilisons toujours TLV pour le formatage des données. Et si nous voulons envoyer des données au destinataire, nous préparons un paquet TLV contenant des données Tag-Length-Value. Par exemple;

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

lorsque nous voulons l’envoyer, nous concaténons ces données de 3 lignes comme DF 82 0A 03 30 31 32. Les paquets de données peuvent contenir beaucoup de données de ce type. 

Lorsque le destinataire l’obtient, il est très facile d’analyser le package et il peut analyser toutes les données en douceur.

Analyse de données;

Données: DF 82 0A 03 30 31 32 DF 82 0B 04 01 12 22 33

DF 82 0A et DF 82 0B sont des balises prédéfinies (type de valeur (BCD, HEX, ASCII)). Lorsque les données sont arrivées, dans une boucle, l’analyseur cherchera d’abord une balise (c.-à-d. DF 82 0A) et un octet supplémentaire (len de données). Il lira également les octets de données jusqu'à len. 

5
ceyun

TLV fait référence à des valeurs d'encodage dans les trios Type-Longueur-Valeur, et cette une forme plus générale est documentée sur WikiPedia .

Dans certains contextes (tels que EMV), TLV fait référence au plus spécifique X.690 qui est également documenté sur WikiPedia .

TLV présente les avantages suivants:

  • Format d'encodage relativement compact
  • Relativement simple à analyser (j'ai écrit un analyseur X.690 de base en quelques heures)
  • Le TLV X.690 prend en charge les types imbriqués (cette partie est un peu plus compliquée à analyser, mais de ce que je peux dire, elle n’est pas requise pour EMV)

Le principal inconvénient de TLV est qu'il n'est pas directement lisible par l'homme. Notez toutefois que si les données sont converties au format hexadécimal, leur lecture est moyennement difficile.

3
David Cravey

Je pense que ce dont vous parlez est appelé Type Longueur Valeur , et il existe une wikipedia page pour cela. J'espère que cela pourra aider.

1
nategoose

TLV est utile pour créer des protocoles de communication. Vous utilisez tag, longueur, valeur pour stocker les informations. Vous pouvez voir très beautifull implémentation (je pense le meilleur) sur github .

0
grep

TLV: tag - longueur - valeur 

Exemple: 045002124354 

Si nous prenons comme exemple que dans la configuration: 045 est la signification de la
numéro gagnant dans une émission de télévision alors: la valeur du numéro gagnant est: 12

  • TAG: Recherche du tag qui est: 045
  • LONGUEUR: longueur par exemple est sur 3 positions pour: 002 
  • VALEUR: la valeur est maintenant: 12 (sur 2 positions)
0
smoka