Skip to content

Qu'est-ce que le codage et la transmission des données ?

Préface

Lorsque vous envoyez une photo à un ami, un message WeChat, ou que vous téléchargez un jeu de plusieurs Go, comment ces informations traversent-elles plus de la moitié du globe pour apparaître intactes sur votre écran ? Ce chapitre s'articule autour d'une question qui perturbe souvent les débutants : Pourquoi les fichiers que je reçois deviennent-ils illisibles ? En suivant cette question, nous révélerons complètement les trois piliers fondamentaux de l'informatique : le codage, le stockage et la transmission.

Que allez-vous apprendre dans cet article ?

À la fin de ce chapitre, vous aurez acquis :

  • Capacité à diagnostiquer les problèmes d'encodage : quand un fichier s'ouvre avec des caractères incompréhensibles, vous saurez analyser la cause du point de vue de l'encodage, au lieu de simplement penser « le fichier est corrompu »
  • Conscience interplateforme : lors des échanges de données, savoir pourquoi le format d'encodage et l'ordre des bytes sont importants
  • Vision globale du codage : comprendre comment l'ordinateur représente tout avec des 0 et des 1 — du texte aux images jusqu'aux objets complexes
  • Fondamentaux pour la suite : bases pour les protocoles réseau, les formats de fichiers et les techniques de sérialisation
ChapitreContenuConcepts clés
Chapitre 1Encodage des caractèresASCII, UTF-8, GBK
Chapitre 2Stockage des donnéesBinaire, endianness
Chapitre 3Transmission des donnéesSérialisation, compression

Avant de commencer, nous devons clarifier un fait physique souvent ignoré par les débutants :

L'ordinateur est en réalité extrêmement « rigide ». Il ne connaît pas les caractères chinois, ne distingue pas les couleurs, et ne comprend pas les chansons.

Sa base est constituée d'innombrables minuscules interrupteurs à semi-conducteurs, qui ne peuvent faire qu'une chose encore et encore : déterminer « courant activé (1) » ou « courant désactivé (0) ».

Puisque l'ordinateur ne connaît que 0 et 1, comment lui faire afficher des images colorées et des textes complexes ?

La réponse est : convenir d'un « code secret ».

Nous convenons avec l'ordinateur que si le signal électrique sous-jacent envoie la séquence 01000001, il dessinera spécifiquement la lettre A sur l'écran ; s'il envoie une autre séquence, il affichera la couleur rouge.

Ce processus de création et d'utilisation d'un code secret pour la traduction mutuelle s'appelle « l'encodage (Encoding) ».

Une fois compris ce point de départ logique — « tout dans l'ordinateur est fondamentalement du code » — vous comprendrez instantanément le phénomène le plus couramment rencontré : les caractères illisibles (Mojibake).


0. Introduction : Pourquoi les fichiers deviennent-ils des « hiéroglyphes » ?

Imaginez : vous recevez un fichier important d'un collègue, vous double-cliquez pour l'ouvrir, et tout ce que vous voyez est une série de caractères étranges comme « 浣犲ソ » ou « ä½ å¥½ ».

Intuitivement, vous pensez sûrement : le fichier a-t-il été endommagé lors de l'envoi ? Y a-t-il eu une perte de paquets ?

En réalité, dans la grande majorité des cas prétendument de « fichiers corrompus », la vérité est unique : votre ordinateur n'a pas trouvé la bonne règle de lecture.

Essayez par vous-même :

Dans le simulateur ci-dessous, essayez de basculer entre différents « codes de déchiffrement » pour lire la même séquence d'octets sous-jacente.

你收到的文件内容(字节流)
0xE40xBD0xA00xE50xA50xBD
用什么规则来「读」它?
正确(UTF-8)
你好
发件人用 UTF-8 存储了「你好」,你也用 UTF-8 读,当然正确。
核心领悟:字节本身没有含义,编码规则决定了字节变成什么字。发件人用 UTF-8 存,你用 GBK 读,当然面目全非。

Compréhension clé : des codes non alignés

Les octets (séquences de 0 et 1) n'ont pas de sens absolu en eux-mêmes. Ce sont les règles d'encodage établies par l'homme qui leur donnent un sens.

C'est comme une séquence de code Morse « di-di-dah » : si vous la cherchez dans le code télégraphique chinois, vous obtiendrez un caractère ; si vous la cherchez dans le code militaire américain, vous en obtiendrez un autre.

L'expéditeur a traduit les caractères chinois en nombres avec le code UTF-8 et vous les a envoyés. Si vous utilisez obstinément le code GBK pour interpréter ces nombres, le résultat sera évidemment une série de caractères illisibles.

Pour comprendre complètement pourquoi des données non endommagées deviennent illisibles, nous devons connaître la chaîne complète du traitement des données. C'est-à-dire la « vie » des données : encodage, stockage, transmission.


1. Qu'est-ce que l'encodage des données ? (Transformer tout en nombres)

Pour faire simple :

L'encodage des données (Encoding), c'est créer un « dictionnaire de traduction bidirectionnel » qui mappe les informations complexes et diverses du monde réel (texte, couleurs, sons) en règles de 0 et de 1 que l'ordinateur peut comprendre.

1.1 Transformer le texte en nombres : d'ASCII au code universel

Chaque fois que nous tapons un message dans WeChat, à chaque touche enfoncée, l'ordinateur effectue secrètement une action : la substitution par consultation de table.

Phase 1 : Le petit monde d'ASCII

Aux débuts de l'informatique, les Américains pensaient que le monde ne comptait que 26 lettres, des chiffres et quelques signes de ponctuation. Ils ont donc créé un code secret très fin appelé le code ASCII.

Il ne définissait que 128 symboles, par exemple le nombre 65 représente la lettre majuscule A. Comme il y avait peu de caractères, 1 octet (Byte = 8 bits) avec ses 256 combinaisons possibles était largement suffisant.

Phase 2 : L'ère des codages fragmentés

Plus tard, l'ordinateur s'est répandu dans le monde entier. On a découvert : les caractères chinois se comptent par dizaines de milliers, le japonais a ses syllabaires — tout cela ne tient pas dans 1 octet !

La Chine a donc créé le code GBK (2 octets par caractère), le Japon a créé Shift_JIS... le monde a sombré dans le chaos. Une page web créée en Chine et envoyée à un client américain s'affichait en caractères illisibles sur son ordinateur sans dictionnaire GBK.

Phase 3 : L'unification sous Unicode (le code universel)

Finalement, les grands de l'informatique se sont réunis et ont décidé : « Arrêtons de faire chacun dans notre coin et créons un super dictionnaire qui contient tous les symboles de la planète ! » C'est le célèbre Unicode (le code universel). Il attribue à chaque caractère du monde — même à chaque emoji que vous utilisez — un numéro unique.

Et UTF-8, que vous entendez souvent, est la « règle de stockage » la plus populaire pour le dictionnaire Unicode. Son point le plus intelligent : il est à longueur variable — 1 octet pour l'anglais, 3 octets pour le chinois, très économe en espace.

Essayez par vous-même :

Dans le champ de saisie ci-dessous, tapez quelques caractères chinois, anglais ou emojis (par exemple : 你好 Hello 🎉) et voyez comment l'ordinateur « consulte la table » pour occuper de l'espace.

字符Unicode 码点UTF-8 字节字节数
U+4F60
0xE40xBD0xA0
3 字节
U+597D
0xE50xA50xBD
3 字节
U+0020
0x20
1 字节
HU+0048
0x48
1 字节
eU+0065
0x65
1 字节
lU+006C
0x6C
1 字节
lU+006C
0x6C
1 字节
oU+006F
0x6F
1 字节
字符数8
UTF-8 总字节数12
平均每字符1.5 字节
提示:英文字母在 UTF-8 中只占 1 字节,常用汉字占 3 字节,Emoji 占 4 字节。这就是为什么处理中文文本时,“字符数”和“字节数”是两个完全不同的概念。

Découverte surprenante :

  • Une lettre anglaise occupe seulement 1 octet en UTF-8.
  • Un caractère chinois occupe généralement 3 octets.
  • Un emoji (🎉) nécessite pas moins de 4 octets !

Le saviez-vous ? Pourquoi, à longueur égale, un SMS en anglais peut contenir beaucoup plus de texte qu'un SMS en chinois ? Parce que dans la séquence de signaux sous-jacente, la taille physique d'un caractère chinois est trois fois celle d'une lettre anglaise !

1.2 Comment les couleurs et les sons deviennent-ils des nombres ?

Le texte peut être traduit par consultation de table. Mais le sourire de la Joconde, ou une chanson ? Comment deviennent-ils des 0 et des 1 ?

La méthode est la même : découper et mapper.

  • Encodage des images : Si vous zoomez à l'infini sur une photo, elle est en réalité composée de millions de petits carrés lumineux (pixels). Il suffit d'attribuer un numéro à chaque couleur (par exemple #FF0000 pour le rouge), puis de stocker les numéros de millions de carrés — la photo devient un nombre.

    Essayez par vous-même : survolez les petites cases du canevas de gauche et voyez comment les couleurs de l'image sont mappées en codes hexadécimaux.

    🖼️ 图片是如何变成数字的?(悬停在像素方块上看看)
    💻 计算机实际看到的:
    #F3F4F6#F3F4F6#F3F4F6#F3F4F6#F3F4F6#F3F4F6#F3F4F6#F3F4F6#F3F4F6#3B82F6#3B82F6#F3F4F6#F3F4F6#3B82F6#3B82F6#F3F4F6#F3F4F6#3B82F6#3B82F6#F3F4F6#F3F4F6#3B82F6#3B82F6#F3F4F6#F3F4F6#F3F4F6#F3F4F6#F3F4F6#F3F4F6#F3F4F6#F3F4F6#F3F4F6#3B82F6#F3F4F6#F3F4F6#F3F4F6#F3F4F6#F3F4F6#F3F4F6#3B82F6#F3F4F6#3B82F6#F3F4F6#F3F4F6#F3F4F6#F3F4F6#3B82F6#F3F4F6#F3F4F6#F3F4F6#3B82F6#3B82F6#3B82F6#3B82F6#F3F4F6#F3F4F6#F3F4F6#F3F4F6#F3F4F6#F3F4F6#F3F4F6#F3F4F6#F3F4F6#F3F4F6
    将鼠标悬停在左侧画布的方块上
    💡 原理解析:一张 1080p 的高清壁纸,其实就是 207 万 个像左边这样密密麻麻的小色块组成的。计算机把这两百多万个颜色的编号(如 #FF0000)按顺序记录下来,图片就变成了几百万个数字的集合。
  • Encodage audio : Le son est essentiellement une onde de vibration de l'air. Si nous mesurons la hauteur de cette vague 44100 fois par seconde (échantillonnage) et enregistrons les valeurs de hauteur, l'onde sonore continue devient un tableau discret de nombres.

    Essayez par vous-même : faites glisser le curseur et voyez comment une onde sonore analogique continue est « découpée » en audio numérique.

    声音是如何变成数字的?(拖拽滑块调整采样率)
    低音质 (严重失真)高音质 (贴近原声)
    转译后的数字(高度):
    0530-520530-520
    说明:灰色的虚线是真实的连贯声波(大自然的模拟信号)。蓝色柱子是我们每隔一段时间去测量它的高度(数字信号)。采样频率越密集,记录下来的数字就越多,恢复出来的声音就越清晰逼真,但产生的文件也随之飙升。

2. Pont de stockage : avant d'envoyer, il faut bien ranger quelque part

Une fois les données encodées, elles sont prêtes à être envoyées à quelqu'un d'autre. Mais avant cela, elles doivent être placées sur un support physique de l'ordinateur. Cela nous confronte à une loi hardware incontournable.

Vous pourriez penser : « Puisqu'il faut les stocker, pourquoi ne pas tout mettre sur le support le plus rapide ? »

Dans le monde du hardware, cependant, il y a toujours une malédiction : plus le support de stockage est rapide, plus il coûte cher à fabriquer et plus sa capacité est faible.

Pour obtenir l'expérience informatique la plus rapide possible avec le moins d'argent possible, les informaticiens ont conçu la hiérarchie de stockage (la pyramide de stockage).

Essayez par vous-même :

Cliquez sur les différents niveaux de la pyramide pour voir comment un ordinateur moderne optimise ses ressources.

L0CPU 寄存器极快
L1CPU 缓存(Cache)很快
L2内存(RAM)
L3SSD(固态硬盘)较快
L4机械硬盘(HDD)
L2内存(RAM)
访问速度几十 ~ 100 纳秒
典型容量几 GB ~ 几百 GB
单价(每GB)适中(约 ¥30/GB)
生活类比:你打开的浏览器标签页——断电就没了,但当前工作全在这里。
实际用途:运行中的程序、操作系统、当前打开的文件都住在内存里。内存不够了→程序卡顿甚至崩溃。
提示:越快越贵,越慢越大。CPU 缓存极快但只有几 MB;机械硬盘虽慢但便宜又能存 TB。操作系统会自动在各层之间搬运数据——这叫存储层次结构

Compréhension clé : la philosophie du gestionnaire de l'entrepôt qu'est le système d'exploitation

Il n'existe pas de mémoire parfaite. C'est pourquoi le système d'exploitation (comme Windows, macOS) fonctionne comme un gestionnaire d'entrepôt extrêmement intelligent et infatigable :

  1. Il entasse des quantités massives de films et de jeux dans l'entrepôt lent mais spacieux (peu coûteux) — le SSD ou le disque dur.
  2. Quand vous voulez jouer, il se dépêche de charger les fichiers de textures haute définition correspondants depuis le disque vers l'établi ultra-rapide mais de capacité limitée — la mémoire vive (RAM).
  3. Quand vous fermez le jeu, il vide la mémoire pour libérer l'établi pour d'autres fichiers.

Explication : Quand vous jouez à un grand jeu en monde ouvert et que les changements de scène provoquent de longs écrans noirs (écrans de chargement), c'est essentiellement parce que l'entrepôt du disque est trop lent et que le manutentionnaire (le système) s'évertue à transférer les données de la carte suivante vers l'établi de la mémoire.


3. Qu'est-ce que la transmission des données ? (Envoyer les 0 et les 1 en voyage)

Les données sont encodées et stockées en mémoire — il est maintenant temps de les envoyer à un ami.

La transmission des données, c'est le processus par lequel les signaux électriques (ou optiques) représentant des 0 et des 1 sont acheminés, via des câbles réseau, des câbles ou des ondes radio, de manière précise et intacte d'une machine à une autre.

3.1 Transmission hardware et en réseau local : les limites physiques d'un câble

À l'intérieur du boîtier ou entre deux ordinateurs très proches, nous sommes confrontés à un défi purement physique.

La première idée de beaucoup de monde est : « Un fil envoie un signal à la fois — si j'en mets 8 côte à côte, la vitesse sera multipliée par 8 ! » C'était l'idée de la transmission parallèle utilisée auparavant pour brancher les disques durs.

Cependant, aujourd'hui les ports Type-C des téléphones, les ports USB externes et les interfaces PCIe internes de la carte mère utilisent tous exclusivement la transmission série (Serial, un seul canal principal pour les données).

Essayez par vous-même : Comparez les animations de transmission série et parallèle.

选择传输方式,然后点"发送数据包"
Tx
发送方
10110010
1 条线
Rx
接收方
已发送0 / 8 位
传输速率1 位/次
状态就绪
提示:等等,串行不是更慢吗?
表面上是的——但现代串行接口(USB 4、PCIe)传输频率高达每秒 数百亿次,而并行线路之间会产生 信号串扰(Crosstalk),反而限制了速度。所以高速接口全面转向了串行。

Pourquoi la « petite route à une voie » a-t-elle battu la « voie express à huit voies » ?

À basse vitesse, 8 fils sont effectivement meilleurs. Mais quand nous devons envoyer des milliards de signaux par seconde, des problèmes apparaissent : Les faibles courants sur les fils parallèles génèrent de puissantes ondes électromagnétiques qui s'interfèrent mutuellement (diaphonie / Crosstalk) ; et il est physiquement impossible de garantir que 8 signaux envoyés simultanément arriveront exactement en même temps à la ligne d'arrivée. Si un seul fil est légèrement plus lent en raison d'impuretés de matériau, les 8 bits assemblés en un mot seront complètement désordonnés.

Plutôt que de dépenser des sommes astronomiques pour équilibrer 8 pistes, mieux vaut concentrer toutes les ressources techniques sur un seul véhicule de course et le pousser à la vitesse de la lumière. C'est la vérité physique derrière la victoire mondiale des interfaces série.

3.2 Transmission WAN et Internet : l'art de la livraison sans perte à travers les océans

Et si vos données ne sont pas destinées à une carte graphique à un centimètre dans le boîtier, mais à un serveur américain de l'autre côté de l'océan ?

Un câble continu est impossible. Les données doivent traverser des câbles en fibre optique, des stations sous-marines et d'innombrables routeurs vétustes. Le défi n'est plus la limite physique, mais le défi de la tolérance aux fautes et de la préservation des données.

Quand vous envoyez une vidéo de 1 Go via WeChat, la logique sous-jacente ressemble à un déménagement international — vous ne pouvez pas simplement jeter le conteneur entier à la Poste.

  1. Paquetisation (Packetization) : Le réseau découpe la vidéo en dizaines de milliers de « paquets de données » de la taille d'une enveloppe (généralement 1500 octets).
  2. Somme de contrôle (Checksum) : Pour éviter qu'un câble sous-marin mordu par un requin ne transforme un 0 en 1, le système calcule avant l'envoi, à l'aide d'une formule mathématique complexe, une « somme de contrôle » qu'il colle sur l'enveloppe.
  3. Renvoi et accusé de réception TCP : Le destinataire reçoit l'enveloppe et recalcule lui-même la somme de contrôle. Si elle ne correspond pas (dommage en cours de route), ou s'il constate que la séquence passe du numéro 31 directement au 33 (perte de paquet), il crie sur le réseau : « Je n'ai pas reçu le numéro 32, veuillez le renvoyer ! »

C'est précisément grâce à ce mécanisme extrêmement rigoureux de découpage et de vérification des paquets appelé TCP (Transmission Control Protocol) au niveau le plus bas que, même si vous téléchargez un fichier WeChat depuis un sous-sol ou avec un WiFi extrêmement instable pendant une demi-heure, au moment où le téléchargement se termine, le fichier est garanti à 100 % intact et sans aucune corruption.


4. Cas pratique : le processus complet de la photo au partage sur les réseaux sociaux

Nous avons abordé séparément « comment traduire en nombres (encodage) », « où stocker (stockage) » et « comment voyager sans perte (transmission) ».

Maintenant, assemblons ces briques et suivons en immersion une opération des plus banales : prendre une photo et la sauvegarder automatiquement dans le cloud.

Dans la seconde où vous appuyez sur le déclencheur, une bataille numérique d'une ampleur titanesque fait déjà rage à l'intérieur de votre téléphone.

Essayez par vous-même :

Cliquez sur « Exécuter cette étape » et suivez le voyage périlleux et complet de ces données.

📸 照片上传的完整旅程从按下快门到云端备份,数据经历了什么?
1
编码
2
存储
3
传输
🔢编码阶段等待执行
☀️
光线
物理信号
📷
传感器
CMOS/CCD
📊
RAW 数据
24MB / 4860万像素
🗜️
JPEG 压缩
有损压缩
📄
JPEG 文件
3.2MB
第一步:编码 — 把光变成数字
1相机传感器把光信号转换成 RGB 数值(每个像素 3 × 8 bit = 24 bit)
2整张照片 4860 万像素 × 24 bit ≈ 140 MB 的原始数据
3JPEG 算法分析像素相似性,去掉人眼不敏感的信息,压缩到 3 MB

5. Glossaire

En lisant d'autres documents, vous pourriez rencontrer le jargon suivant. Voici un tableau de référence rapide :

Terme / AbréviationTraduction françaiseExplication simple
Bit (b)BitLa plus petite unité du monde informatique, ne peut être que 0 ou 1.
Byte (B)Octet8 Bits regroupés forment un octet. C'est l'unité de mesure fondamentale de la taille des fichiers.
Character SetJeu de caractèresComme la « table des matières d'un dictionnaire » — définit qu'un caractère existe, sans préciser comment il est stocké sur le disque.
EncodingEncodageLa « règle de stockage » concrète, qui détermine à quels octets correspond un caractère du dictionnaire (ex. UTF-8).
RAMMémoire vive / RAMUn établi extrêmement rapide mais effacé à la mise hors tension. Les 8 Go / 16 Go de votre téléphone désignent ceci.
SSDSSD (disque à semi-conducteurs)L'entrepôt moderne de l'ordinateur pour la conservation permanente des données, basé sur des puces flash, des dizaines de fois plus rapide que les anciens disques durs.
Serial / ParallelSérie / ParallèleSérie : un canal avec les données qui se succèdent rapidement ; Parallèle : plusieurs canaux avançant simultanément (mais inadapté aux très hautes fréquences).
ChecksumSomme de contrôleUn code de vérification joint lors de la transmission. Le destinataire le recalcule — s'il correspond à celui indiqué sur le paquet, tout est en ordre.
TCPProtocol de contrôle de transmission (TCP)La pierre angulaire d'Internet. Responsable du découpage des gros fichiers, de l'apposition de numéros de séquence et du renvoi des paquets perdus, garantissant une livraison à 100 % intacte.

Résumé

Les nombreuses questions soulevées au début de l'article trouvent désormais leur réponse du point de vue des fondamentaux du système :

  • Pourquoi le même fichier devient-il illisible quand vous le recevez ? Les données ne sont pas corrompues — votre lecteur a simplement utilisé le mauvais code secret (problème d'encodage).

  • Pourquoi la plupart des câbles derrière les ordinateurs modernes sont-ils un petit câble Type-C, pourtant plus rapide que les câbles beaucoup plus larges d'autrefois ? Parce qu'avant, plusieurs charrettes avançaient lentement côte à côte et se heurtaient facilement (parallèle), tandis qu'aujourd'hui un train à grande vitesse file sur une voie dédiée (série).

  • Pourquoi les grands jeux affichent-ils de longs écrans noirs lors du chargement des scènes ? Parce qu'ils doivent transférer frénétiquement des fichiers de plusieurs dizaines de Go depuis le disque lent (zone de stockage) vers la mémoire rapide mais coûteuse (établi principal).

L'essence de l'ordinateur est en fait très simple :

Ce n'est rien d'autre qu'une machine douée pour « traduire (encoder) » toutes les images et tous les textes, les « conserver (stocker) » sur une puce de silicium, puis les « expédier (transmettre) » découpés en impulsions électriques.

Comprendre ce cycle perpétuel, c'est vraiment tenir la clé qui ouvre la porte des principes fondamentaux de l'informatique.