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 employée par les ordinateurs pour stocker les nombres signés. La longueur en bits d’un entier négatif est le plus petit nombre de bits capable de le représenter sous forme de complément à deux. Par exemple, −128 tient sur 8 bits (sous la forme 10000000), tandis que −129 nécessite 9 bits, car 8 bits ne peuvent descendre que jusqu’à −128.
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é.
Exemple détaillé
| 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 » comporte 2 chiffres ; sa longueur en bits est donc 2 × 4 = 8 bits, soit 1 octet. La chaîne hexadécimale « ABCD » comporte 4 chiffres, soit 16 bits ou 2 octets. Les espaces et autres caractères d’espacement sont supprimés avant le comptage. Un nombre impair de chiffres est tout de même arrondi à un nombre entier d’octets : « F » représente 4 bits, que le calculateur indique comme 1 octet.
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 : encodage à longueur variable utilisé sur l’ensemble du Web. Chaque caractère occupe de 1 à 4 octets. Les lettres anglaises, les chiffres et la ponctuation ordinaires occupent 1 octet chacun.
- UTF-16 : utilisé en interne par JavaScript et Windows. La plupart des caractères occupent 2 octets ; les caractères situés en dehors 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 : encodage sur 7 bits couvrant 128 caractères, principalement les lettres anglaises, les chiffres et la ponctuation de base. Chaque caractère occupe 1 octet. Tout caractère ne faisant pas partie de 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.
Les nombres indiqués concernent le texte lui-même. Aucun indicateur d’ordre des octets n’est ajouté ; une valeur UTF-16 ou UTF-32 est donc inférieure de 2 ou 4 octets à celle fournie par un outil qui écrit un indicateur au début.
Exemple détaillé
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 la longueur en octets d’une chaîne hexadécimale est-elle calculée ? Comptez les chiffres hexadécimaux après avoir supprimé les espaces, multipliez par 4 pour obtenir les bits, puis arrondissez à un nombre entier d’octets. Chaque octet correspond à 2 chiffres hexadécimaux ; « FF » représente donc 1 octet et « ABCD » 2 octets. Un chiffre isolé tel que « F » représente 4 bits, mais occupe tout de même 1 octet.
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
- "Character encoding." Wikipédia, Fondation Wikimedia. https://en.wikipedia.org/wiki/Character_encoding
- "UTF-8, UTF-16, UTF-32 & BOM." Unicode, Inc. https://www.unicode.org/faq/utf_bom.html
- "Two's complement." Wikipédia, Fondation Wikimedia. https://en.wikipedia.org/wiki/Two%27s_complement