Besoin d'aide sur codage BER d'une syntaxe AS
pimousse_37
Messages postés
35
Statut
Membre
-
pimousse_37 Messages postés 35 Statut Membre -
pimousse_37 Messages postés 35 Statut Membre -
Bonjour à tous
J'ai besoin d'un petit coup de main de ceux qui connaissent les règles de codage BER.
Voici l'énoncé de l'exercice :
En utilisant la syntaxe abstraite ASN.1 et les règles de codage BER.
Rappel des types :
Code Hexadécimal Type Signification
2 INTEGER Entier de longueur variable
10 SEQUENCE Collection ordonnée d’éléments de type différent
14 T61STRING Chaîne de caractères ISO Latin 1
18 UTC TIME Temps universel yymmddhhmmZ (heure GMT)
et la définition de l'enregistrement " BulletinMétéo "
BulletinMétéo ::= SEQUENCE {
localisation T61STRING,
date UTC TIME,
temp INTEGER,
hygro INTEGER,
pluvio INTEGER
}
-> Coder le Bulletin Météo :
Paris, 1er Mai 2004 12 heures précises GMT, 16 degrés, hygrométrie 64, pluviométrie 6.
Voici ma réponse :
1) codage Localisation :
-Type : classe : 2 bits -> universelle -> (00)b
forme : 1 bit -> primitive -> (0)b
Numéro : 5 bits -> (14)h -> (10100)b
Soit : (00010100)b = (14)h
-Longueur : Paris = 5 lettres donc il faut 5 octets pour coder la localisation => (05)h
-Valeur : Avec le tableau ISO latin-1 :
P = (50)h
a = (61)h
r = (72)h
i = (69)h
s = (73)h
Soit : 14055061726973
2) codage date UTC TIME :
- type: (18)h
- longueur : (06)h
- valeur : (0405010C005A)h
Soit : 08060405010C005A
3) codage temp :
- type : classe : 2 bits -> universelle-> (00)b
forme : 1 bit -> primitive -> (0)b
numéro : 5 bits -> (00010)b
soit : (00000010)b -> (02)h
- longueur : 1 octet pour coder la température -> (01)h
- valeur : (16)d -> (10)h
Soit : 020110
4) codage hygro :
- type : classe : 2 bits -> universelle-> (00)b
forme : 1 bit -> primitive -> (0)b
numéro : 5 bits -> (00010)b
soit : (00000010)b -> (02)h
- longueur : 1 octet pour coder la température -> (01)h
- valeur : (64)d -> (40)h
Soit : 020140
5) codage pluvio :
- type : classe : 2 bits -> universelle-> (00)b
forme : 1 bit -> primitive -> (0)b
numéro : 5 bits -> (00010)b
soit : (00000010)b -> (02)h
- longueur : 1 octet pour coder la température -> (01)h
- valeur : (6)d -> (06)h
Soit : 020106
6) codage bulletinMétéo :
- type : classe : 2 bits -> universelle-> (00)b
forme : 1 bit -> composée -> (1)b
numéro : 5 bits -> (10)h -> (10000)b
soit : (00100000)b -> (30)h
- longueur : Localisation (Type Longueur Valeur) + date (TLV) + temp (TLV) + hygro (TLV) + pluvio (TLV)
soit 24 octets -> (18)h
Soit : 3018
7) Soit le codage suivant :
3018 14055061726973 18060405010C005A 020110 020140 020106
D'avance merci à ceux qui prendront le temps de lire mon exercice et surtout de me dire si le codage est bon ou pas !!!
J'ai besoin d'un petit coup de main de ceux qui connaissent les règles de codage BER.
Voici l'énoncé de l'exercice :
En utilisant la syntaxe abstraite ASN.1 et les règles de codage BER.
Rappel des types :
Code Hexadécimal Type Signification
2 INTEGER Entier de longueur variable
10 SEQUENCE Collection ordonnée d’éléments de type différent
14 T61STRING Chaîne de caractères ISO Latin 1
18 UTC TIME Temps universel yymmddhhmmZ (heure GMT)
et la définition de l'enregistrement " BulletinMétéo "
BulletinMétéo ::= SEQUENCE {
localisation T61STRING,
date UTC TIME,
temp INTEGER,
hygro INTEGER,
pluvio INTEGER
}
-> Coder le Bulletin Météo :
Paris, 1er Mai 2004 12 heures précises GMT, 16 degrés, hygrométrie 64, pluviométrie 6.
Voici ma réponse :
1) codage Localisation :
-Type : classe : 2 bits -> universelle -> (00)b
forme : 1 bit -> primitive -> (0)b
Numéro : 5 bits -> (14)h -> (10100)b
Soit : (00010100)b = (14)h
-Longueur : Paris = 5 lettres donc il faut 5 octets pour coder la localisation => (05)h
-Valeur : Avec le tableau ISO latin-1 :
P = (50)h
a = (61)h
r = (72)h
i = (69)h
s = (73)h
Soit : 14055061726973
2) codage date UTC TIME :
- type: (18)h
- longueur : (06)h
- valeur : (0405010C005A)h
Soit : 08060405010C005A
3) codage temp :
- type : classe : 2 bits -> universelle-> (00)b
forme : 1 bit -> primitive -> (0)b
numéro : 5 bits -> (00010)b
soit : (00000010)b -> (02)h
- longueur : 1 octet pour coder la température -> (01)h
- valeur : (16)d -> (10)h
Soit : 020110
4) codage hygro :
- type : classe : 2 bits -> universelle-> (00)b
forme : 1 bit -> primitive -> (0)b
numéro : 5 bits -> (00010)b
soit : (00000010)b -> (02)h
- longueur : 1 octet pour coder la température -> (01)h
- valeur : (64)d -> (40)h
Soit : 020140
5) codage pluvio :
- type : classe : 2 bits -> universelle-> (00)b
forme : 1 bit -> primitive -> (0)b
numéro : 5 bits -> (00010)b
soit : (00000010)b -> (02)h
- longueur : 1 octet pour coder la température -> (01)h
- valeur : (6)d -> (06)h
Soit : 020106
6) codage bulletinMétéo :
- type : classe : 2 bits -> universelle-> (00)b
forme : 1 bit -> composée -> (1)b
numéro : 5 bits -> (10)h -> (10000)b
soit : (00100000)b -> (30)h
- longueur : Localisation (Type Longueur Valeur) + date (TLV) + temp (TLV) + hygro (TLV) + pluvio (TLV)
soit 24 octets -> (18)h
Soit : 3018
7) Soit le codage suivant :
3018 14055061726973 18060405010C005A 020110 020140 020106
D'avance merci à ceux qui prendront le temps de lire mon exercice et surtout de me dire si le codage est bon ou pas !!!
A voir également:
- Besoin d'aide sur codage BER d'une syntaxe AS
- Codage ascii - Guide
- Codage - Guide
- Apprendre le codage - Guide
- Trouver erreur de syntaxe fichier txt - Forum Windows
- Fichier word illisible codage - Guide