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 -
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 !!!
A voir également:

3 réponses

pimousse_37 Messages postés 35 Statut Membre
 
Petit up !!
Personne pour m'aider ?
0
pimousse_37 Messages postés 35 Statut Membre
 
Personne pour m'aider ???
Please j'ai besoin d'un coup de main !!!
0
pimousse_37 Messages postés 35 Statut Membre
 
Franchement personne ne peut m'aider ??
J'y crois pas je dois pas être le seul à faire du codage BER !!!!
0