Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| reseaux:generalites:cbor [2021/12/12 08:34] – [1.4 Type tableau] phil | reseaux:generalites:cbor [2025/06/19 19:29] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 2: | Ligne 2: | ||
| ===== La sérialisation (suite)===== | ===== La sérialisation (suite)===== | ||
| - | [Mise à jour le 12/12/2021] | + | [Mise à jour le 19/12/2021] |
| ==== 1. CBOR ==== | ==== 1. CBOR ==== | ||
| Ligne 14: | Ligne 14: | ||
| Ainsi, en < | Ainsi, en < | ||
| - | < | + | < |
| - | La taille de l' | + | La taille de l' |
| CBOR définit **8 types** majeurs qui sont représentés par les **3 premiers bits d'une structure CBOR**. Ces types majeurs ont donc des valeurs comprises entre **0** et **7** (000 à 111 en binaire). \\ {{ : | CBOR définit **8 types** majeurs qui sont représentés par les **3 premiers bits d'une structure CBOR**. Ces types majeurs ont donc des valeurs comprises entre **0** et **7** (000 à 111 en binaire). \\ {{ : | ||
| - | Les **cinq bits suivants** contiennent soit une **valeur** soit une **longueur** indiquant combien d' | + | Les **cinq bits suivants** contiennent soit une **valeur** soit une **longueur** indiquant combien d' |
| === 1.1 Type Entier Positif === | === 1.1 Type Entier Positif === | ||
| Ligne 82: | Ligne 82: | ||
| La taille de la représentation s' | La taille de la représentation s' | ||
| - | On peut aussi noter que comme le type majeur est sur 3 bits, ce type peut être reconnu car il commence par la valeur " | + | On peut aussi noter que comme le type majeur est sur 3 bits, ce type peut être reconnu, car il commence par la valeur " |
| === 1.2 Type entier négatif === | === 1.2 Type entier négatif === | ||
| Ligne 89: | Ligne 89: | ||
| Ainsi, pour coder -15, on va coder la valeur 14, ce qui donne en binaire 001-1 1110. Ainsi, -24 peut également être codé sur 1 octet tandis que +24 sera codé sur 2 octets. | Ainsi, pour coder -15, on va coder la valeur 14, ce qui donne en binaire 001-1 1110. Ainsi, -24 peut également être codé sur 1 octet tandis que +24 sera codé sur 2 octets. | ||
| - | Le programme // | + | Le programme // |
| <code python cbor-integer-ex2.py> | <code python cbor-integer-ex2.py> | ||
| Ligne 239: | Ligne 239: | ||
| On peut voir des différences entre JSON, CBOR et la représentation des variables en Python. Les codages hexadécimaux et binaires de Python ont été convertis en décimal pour JSON. | On peut voir des différences entre JSON, CBOR et la représentation des variables en Python. Les codages hexadécimaux et binaires de Python ont été convertis en décimal pour JSON. | ||
| - | De plus, même si JSON n' | + | De plus, même si JSON n' |
| === 1.6 Type étiquette === | === 1.6 Type étiquette === | ||
| CBOR enrichit le typage des données ; ce qui permet de manipuler plus facilement des données. Par exemple, une chaîne de caractères peut représenter une date, une URI, voire une URI codée en base 64. | CBOR enrichit le typage des données ; ce qui permet de manipuler plus facilement des données. Par exemple, une chaîne de caractères peut représenter une date, une URI, voire une URI codée en base 64. | ||
| Ligne 271: | Ligne 272: | ||
| <note tip>On peut également remarquer que loads retourne un type date et non une chaîne de caractères.</ | <note tip>On peut également remarquer que loads retourne un type date et non une chaîne de caractères.</ | ||
| - | === 1.7 Le type flottant et valeurs particulières === | + | === 1.7 Le type flottant et les valeurs particulières === |
| Le dernier type majeur (**111**) permet de coder les nombres flottants en utilisant la représentation définie par l' | Le dernier type majeur (**111**) permet de coder les nombres flottants en utilisant la représentation définie par l' | ||