2011-11-01 5 views
0

J'ai lu spécification ASN.1, mais je ne suis pas tout à fait sûr de ce que fait baliser exactement dans ce schéma de notation, par exemple:Que fait Tag en notation ASN.1?

ETYPE-INFO-ENTRY ::= SEQUENCE { 
etype [0] Int32, 
salt [1] OCTET STRING OPTIONAL 
} 

Dans cette représentation, les informations ont fait les balises « 0 » et "1" transmettre? J'avais pensé que les balises pouvaient servir d'indicateur du type de données du champ, mais il semble que non, la spécification ASN.1 dit que les balises servent principalement d'étiquette, est-ce aussi simple? En ce sens, je peux attribuer des numéros de balises arbitraires aux champs, n'est-ce pas? Je vous remercie.

Répondre

1

Les étiquettes identifient les types. Techniquement, ils définissent les types, mais il peut ne pas être utile de les considérer de cette façon.

Envisagez d'avoir deux champs optionnels de type INTEGER. Si elles ont été simplement codées en utilisant l'étiquette pour INTEGER, vous ne pourriez pas les distinguer. En mettant des étiquettes uniques sur eux, vous pouvez.

L'étiquetage est un peu compliqué, et ce n'est pas le meilleur endroit pour essayer de les expliquer. Nous avons deux livres sur notre resources page qui sont utiles. Si vous avez Google pour eux, vous pouvez trouver des éditions plus tôt (?) Disponibles en ligne gratuitement. Ils devraient vous aider à mieux gérer les tags.