Convertisseur de données

Choisissez une unité de chaque côté et saisissez une valeur. Chaque facteur est celui de la définition — un pouce fait 25,4 mm parce que c’est fixé ainsi depuis 1959 — et le calcul se fait sur votre appareil.

Résultat
1000Mo

Ce qu’est chaque unité de données

octet o

Un octet vaut huit bits — c’est d’ailleurs ce que le mot dit, là où l’anglais *byte* ne dit rien de la taille. Elle n’a pas toujours été fixée : les premiers ordinateurs employaient six, sept ou neuf bits. Huit s’est imposé parce qu’un caractère y tient et que le nombre se coupe proprement en deux.

kilooctet ko

Un kilooctet vaut 1 000 octets quand c’est un organisme de normalisation qui le définit, et 1 024 quand c’est un système d’exploitation. Cette page compte en 1 000 ; l’unité valant 1 024 s’appelle kibioctet.

mégaoctet Mo

Un mégaoctet vaut un million d’octets. Les fabricants de stockage ont toujours compté en décimal, et c’est pourquoi leurs chiffres paraissent plus grands que ce qu’affiche l’ordinateur.

gigaoctet Go

Un gigaoctet vaut un milliard d’octets, au sens décimal qu’emploient les fabricants de disques, les forfaits mobiles et les tailles de vidéo.

téraoctet To

Un téraoctet vaut mille milliards d’octets. Un disque vendu pour 1 To en contient exactement autant : l’espace qui semble manquer est un désaccord sur les unités, pas un défaut.

kibioctet Kio

Un kibioctet vaut exactement 1 024 octets. Le nom a été introduit en 1998 pour que « kilooctet » puisse de nouveau valoir 1 000 — l’habitude n’a jamais tout à fait cédé.

mébioctet Mio

Un mébioctet vaut 1 024 kibioctets, soit 1 048 576 octets. Les outils Linux et les chiffres de mémoire désignent presque toujours cela, même quand ils écrivent « Mo ».

gibioctet Gio

Un gibioctet vaut 1 073 741 824 octets, environ 7 % de plus qu’un gigaoctet. Windows mesure en gibioctets tout en les étiquetant « Go », et c’est là tout le mystère de l’espace disque qui s’évapore.

tébioctet Tio

Un tébioctet vaut 1 024 gibioctets. L’écart avec le téraoctet grandit à chaque échelon : 2,4 % au kilo, 4,9 % au méga, 7,4 % au giga, 10 % au téra.

Les unités de données côte à côte

Une de chaque unité de données, exprimée dans l’unité de base selon sa définition et non selon un facteur arrondi.
donnéesoctet (o)
1 o1
1 ko1000
1 Mo1000000
1 Go1000000000
1 To1000000000000
1 Kio1024
1 Mio1048576
1 Gio1073741824
1 Tio1099511627780

Notes sur les conversions de données courantes

gigaoctet en mégaoctet

Le « mille » de cette page, et qui d'autre compte ainsi

Ici, on divise par mille, parce que c'est ce que le préfixe signifie. Kilo, méga et giga sont des préfixes du SI pour 10³, 10⁶ et 10⁹, et ils valent cela appliqués à n'importe quelle autre grandeur : un kilomètre, un mégawatt, un gigahertz. Appliqués à l'octet, ils donnent 1 000, 1 000 000 et 1 000 000 000, qui est le sens qu'utilisent les fabricants de disques, toutes les normes de réseau, les forfaits de données et les tailles que les services publient dans leur propre documentation.

Le système rival existe, et ce n'est pas celui-ci. Les puissances de 1 024 donnent le kibioctet, le mebioctet et le gibioctet — KiB, MiB et GiB —, et c'est ce que compte la plupart des systèmes de bureau, quelles que soient les lettres qu'ils impriment. Les deux répondent à des questions différentes et les deux sont justes dans leur convention ; l'erreur consiste à prendre le chiffre de l'un et la limite de l'autre sans regarder lequel est lequel.

octet en gigaoctet

D'où vient ce grand nombre d'octets

Un nombre exact d'octets sort toujours d'un outil qui refuse d'arrondir : la commande ls -l, la colonne de taille d'un objet dans le nuage, l'en-tête Content-Length d'un téléchargement, le panneau d'un hébergeur, une requête SQL qui demande l'espace d'une table. Aucun de ces outils ne cherche à être lisible. Ils renvoient le chiffre que le système de fichiers garde vraiment, et c'est pour cela qu'il a dix ou onze chiffres que personne ne lit d'un coup d'œil.

Cet inconfort est précisément la raison de partir de là. Le nombre d'octets est le fichier ; toute autre façon d'écrire sa taille est une traduction arrondie, et les traductions ne se recoupent pas. Convertir depuis les octets vous laisse en amont du désaccord : le résultat est une décision que vous prenez, et non une que l'explorateur de fichiers a déjà prise pour vous.

octet en gib

Un compteur en octets ne discute pas

Un logiciel émet une taille en octets par principe : le chiffre n’a pas de préfixe à interpréter, pas d’arrondi à défaire, pas de locale dedans, et un export JSON, un en-tête Content-Length et une ligne de log peuvent s’y comparer sans se mettre d’accord au préalable sur ce que veut dire un G. C’est précisément ce qui rend le résultat illisible : 17 179 869 184 ne dit rien tant qu’il n’a pas été divisé.

La division à utiliser est 1 073 741 824 quand le système qui a produit le chiffre raisonne en binaire, ce qui est le cas de la mémoire, du cache de pages, de l’espace occupé sur un système de fichiers et de presque tous les compteurs de système d’exploitation. Ce chiffre tombe sur 16 Gio exactement. Diviser par un milliard à la place donne 17,18 et masque le fait que la valeur était une puissance de deux propre, qui est souvent l’information la plus utile qu’elle contient.

octet en kilooctet

L’échelle où chaque octet se compte encore

Sous le mégaoctet, le compteur brut reste lisible, et c’est ce qui change la raison de la conversion. On ne convertit pas 27 504 octets en kilooctets parce que la valeur d’origine est incompréhensible ;on le fait parce que tout ce qu’on veut lui comparer — un budget d’artefact, une limite de formulaire, un autre fichier coté à 30 ko — est écrit en kilooctets. La conversion est une traduction dans l’unité où la conversation se passe.

Cela signifie aussi que la précision est peu coûteuse à ce niveau. Une décimale représente une centaine d’octets et deux en représentent dix, donc 27,5 ko et 27,50 ko sont tous deux honnêtes et le second n’est pas du remplissage. Plus haut dans l’échelle, les chiffres supplémentaires ne veulent plus rien dire, mais à ce niveau un dixième de kilooctet est une quantité réelle que quelqu’un pourrait retirer d’un fichier.

octet en kib

Un seul fichier, deux nombres : `ls -l` contre `ls -lh`

Lancez `ls -l` et vous obtenez un compteur exact d’octets, celui que le système de fichiers conserve et que toute API qui rapporte une taille renvoie. Lancez `ls -lh` sur le même fichier et vous obtenez quelque chose comme 24K. Le fichier n’a pas changé entre les deux commandes — la seconde a divisé par 1 024, arrondi, et accolé une lettre qui ne dit pas sur quelle base elle a été calculée.

C’est la raison pour laquelle on convertit à la main des octets en kibioctets. Le chiffre exact est celui qui doit correspondre à un en-tête, à une borne de somme de contrôle ou à un quota ;le chiffre arrondi est celui qu’un collègue vous renvoie depuis un terminal. Pouvoir passer de l’un à l’autre sans deviner sur quelle base l’autre a travaillé est toute la compétence en jeu ici.

octet en mégaoctet

Pourquoi les outils ne donnent rien d'autre que des octets

L'octet est ce que comptent toutes les couches situées sous l'écran. Le listing d'un répertoire sans option de format, le champ de taille d'un appel système, l'en-tête Content-Length, l'attribut de taille dans la liste d'un magasin d'objets, la longueur d'une ligne de journal : tout cela sort en nombre entier d'octets, parce que l'octet est la seule unité de cette zone qui n'a pas de dialecte. C'est la même quantité sous tous les systèmes et dans toutes les conventions.

C'est précisément pour cela que les interfaces le renvoient. Dès qu'une taille passe en mégaoctets, elle a acquis un diviseur et un arrondi, et ni l'un ni l'autre ne voyage avec le nombre. Une API qui répond 5 242 880 a dit quelque chose d'équivoque ; une qui répond « 5,24 Mo » a dit quelque chose qui demande une note en bas de page. Convertir est votre travail et vient à la fin, et le savoir laisse le chiffre exact disponible aussi longtemps qu'il le faut.

Chaque paire de données sur sa propre page