Calculateur de longueur de bits et d'octets - Outil gratuit de taille de données
Calculez les longueurs de bits et d'octets pour les entiers, les chaînes hexadécimales et le texte avec les encodages UTF-8, UTF-16, ASCII. Outil en ligne gratuit pour les développeurs, les data scientists et les ingénieurs réseau.
Calculateur de longueur de bits et d'octets
8 bits = 1 octets
Visualisation
Documentation
Qu’est-ce qu’un calculateur de longueur en bits et en octets ?
Un calculateur de longueur en bits et en octets détermine combien de bits et d’octets sont nécessaires pour une donnée. Un bit est un chiffre binaire unique, 0 ou 1. Un octet est un groupe de 8 bits. Le calculateur accepte un entier, une chaîne hexadécimale ou une chaîne de texte, et indique la taille exacte dans les deux unités.
Cela est utile en programmation, en réseau et pour le stockage des données. Une colonne de base de données, un paquet réseau et un fichier sur disque ont tous une taille mesurée en octets, qui dépend de la manière dont les données sont écrites.
Comment calculer la longueur en bits d’un entier
La longueur en bits d’un entier positif correspond au nombre de chiffres dans sa forme binaire. Par exemple, 255 s’écrit 11111111 en binaire, ce qui comporte 8 chiffres ; sa longueur en bits est donc 8.
Formule : pour un entier positif n, la longueur en bits est le nombre de chiffres dans la représentation de n en base 2. Dans le cas particulier où n = 0, la longueur en bits est 1.
Les entiers négatifs utilisent le complément à deux, la méthode standard par laquelle les ordinateurs stockent les nombres signés. La longueur en bits d’un entier négatif est le plus petit nombre de bits capable de le contenir sous forme de complément à deux. Par exemple, −128 tient sur 8 bits (sous la forme 10000000), mais −129 nécessite 9 bits, car un entier signé de 8 bits va de −128 à 127.
Une fois la longueur en bits connue, la longueur en octets s’obtient en arrondissant à l’entier supérieur :
Longueur en octets = ⌈longueur en bits ÷ 8⌉
Le symbole ⌈ ⌉ signifie « arrondir à l’entier supérieur ». Une valeur de 9 bits nécessite tout de même 2 octets complets, car un octet ne peut pas être fractionné.
Exemples détaillés
| Entier | Longueur en bits | Longueur en octets |
|---|---|---|
| 0 | 1 | 1 |
| 255 | 8 | 1 |
| 256 | 9 | 2 |
| −128 | 8 | 1 |
| −129 | 9 | 2 |
| 18,446,744,073,709,551,615 (2⁶⁴ − 1) | 64 | 8 |
Comment calculer la longueur en bits d’une chaîne hexadécimale
Chaque chiffre hexadécimal (0–9, A–F) représente exactement 4 bits, car 4 bits peuvent contenir 16 valeurs possibles.
Formule : longueur en bits = nombre de chiffres hexadécimaux × 4. La longueur en octets correspond de nouveau à la longueur en bits divisée par 8, puis arrondie à l’entier supérieur.
Par exemple, la chaîne hexadécimale « FF » compte 2 chiffres, donc sa longueur en bits est de 2 × 4 = 8 bits, soit 1 octet. La chaîne hexadécimale « ABCD » compte 4 chiffres, ce qui donne 16 bits, soit 2 octets. Les espaces à l’intérieur de la chaîne sont ignorés avant le comptage.
Comment calculer la longueur en octets d’une chaîne de texte
Pour le texte, la taille dépend de l’encodage des caractères, c’est-à-dire de la règle utilisée pour convertir les caractères en octets. Le calculateur prend en charge cinq encodages :
- UTF-8 : un codage à longueur variable utilisé sur tout le web. Chaque caractère occupe de 1 à 4 octets. Les lettres anglaises simples, les chiffres et la ponctuation occupent 1 octet chacun.
- UTF-16 : utilisé en interne par JavaScript et Windows. Chaque caractère est formé d’une ou de deux unités de 16 bits. La plupart des caractères occupent 2 octets ; les caractères situés hors du plan multilingue de base, comme de nombreux émojis, occupent 4 octets.
- UTF-32 : encodage à longueur fixe. Chaque caractère occupe exactement 4 octets, quel qu’il soit.
- ASCII : un codage sur 7 bits, stocké à raison d’un caractère par octet de 8 bits, qui couvre 128 caractères, principalement les lettres anglaises, les chiffres et la ponctuation de base. Chaque caractère occupe 1 octet. Tout caractère extérieur à cet ensemble est rejeté.
- Latin-1 (ISO-8859-1) : encodage sur 8 bits couvrant 256 caractères, avec notamment les lettres accentuées utilisées dans les langues d’Europe occidentale. Chaque caractère occupe 1 octet. Les caractères ne faisant pas partie de cet ensemble sont rejetés.
Formule : longueur en octets = nombre d’octets produits par l’encodage pour la chaîne. Longueur en bits = longueur en octets × 8.
Exemples détaillés
Le texte « Hello, world! » comporte 13 caractères, constitués uniquement de lettres et de signes de ponctuation ASCII ordinaires.
- UTF-8 : 13 octets (104 bits), puisque chaque caractère tient sur 1 octet.
- UTF-16 : 26 octets (208 bits), puisque chaque caractère occupe 2 octets.
Le texte « こんにちは世界 » (sept caractères japonais) occupe 3 octets par caractère en UTF-8, soit 21 octets (168 bits).
Un émoji tel que 😀 se situe en dehors du plan multilingue de base. Il occupe 4 octets en UTF-8, 4 octets en UTF-16 (sous la forme d’une paire de substituts), et 4 octets en UTF-32.
Pourquoi les entiers signés modifient le résultat
Les ordinateurs stockent les nombres négatifs avec le complément à deux plutôt qu’avec un simple signe moins. La longueur en bits d’un entier négatif n’est donc pas simplement la longueur en bits de sa valeur absolue augmentée de un. La règle est la suivante : la longueur en bits est le plus petit nombre k de bits tel que la valeur soit au moins égale à −2^(k−1). C’est pourquoi −128 (qui est égal à −2⁷) tient sur 8 bits, tandis que −129 nécessite 9 bits.
Foire aux questions
Comment convertir des octets en bits ? Multipliez par 8. Dix octets correspondent à 80 bits, car chaque octet contient par définition 8 bits.
Quelle est la différence entre la longueur en bits et la longueur en octets ? La longueur en bits compte les chiffres binaires individuels. La longueur en octets compte les groupes de 8 bits, en arrondissant à l’octet entier suivant lorsque la longueur en bits n’est pas un multiple de 8.
Combien d’octets utilise un caractère UTF-8 ? Entre 1 et 4. Les caractères communs avec ASCII utilisent 1 octet. De nombreux caractères latins accentués, grecs et cyrilliques utilisent 2 octets. La plupart des caractères chinois, japonais et coréens utilisent 3 octets. Les émojis et autres symboles rares utilisent 4 octets.
Comment calcule-t-on la longueur en octets d’une chaîne hexadécimale ? Comptez les chiffres hexadécimaux après avoir retiré les espaces, multipliez par 4 pour obtenir les bits, puis divisez par 8 et arrondissez à l’entier supérieur. « FF » fait 1 octet ; « ABCD » fait 2 octets. Un nombre impair de chiffres, comme « ABC » (12 bits), nécessite tout de même 2 octets.
Pourquoi un entier négatif nécessite-t-il parfois plus de bits que son équivalent positif ? Le complément à deux utilise un bit pour indiquer le signe, mais ce bit est partagé avec l’intervalle de valeurs au lieu d’être ajouté dans tous les cas. −128 tient sur les mêmes 8 bits que les valeurs positives allant jusqu’à 127, mais −129 ne tient plus sur 8 bits et nécessite 9 bits.
Quelles tailles d’entrée ce calculateur accepte-t-il ? Des entiers, des chaînes hexadécimales et des chaînes de texte d’une longueur maximale de 1 000 000 caractères.
Références
- Unicode, Inc. FAQ: UTF-8, UTF-16, UTF-32 & BOM. Unicode encoding FAQ — chaque caractère occupe de un à quatre octets de 8 bits en UTF-8, une ou deux unités de code de 16 bits en UTF-16, ou une seule unité de code de 32 bits en UTF-32.
- Internet Engineering Task Force. RFC 3629: UTF-8, a transformation format of ISO 10646. RFC 3629 — UTF-8 utilise de 1 à 4 octets ; U+0000–U+007F occupent 1 octet, U+0080–U+07FF 2 octets, U+0800–U+FFFF 3 octets, et U+10000 et au-delà 4 octets.
- Internet Engineering Task Force. RFC 20: ASCII format for network interchange. RFC 20 — ASCII standard sur 7 bits intégré dans un octet de 8 bits.
- Oracle. The Java Language Specification, Java SE 21, Chapter 4: Types, Values, and Variables. JLS chapter 4 — le type byte est un entier signé de 8 bits en complément à deux, dont la plage va de −128 à 127.