Maison > Java > javaDidacticiel > le corps du texte

Combien d'octets une chaîne occupe-t-elle : un aperçu du codage Java et de l'utilisation des octets ?

Mary-Kate Olsen
Libérer: 2024-10-27 05:08:30
original
713 Les gens l'ont consulté

How Many Bytes Does a String Occupy: A Look at Java Encoding and Byte Usage?

Utilisation des octets dans le codage de chaîne

Le calcul du nombre d'octets dans une chaîne en Java nécessite de prendre en compte la méthode de codage utilisée. Les chaînes sont des séquences de caractères et le nombre d'octets requis pour les représenter dépend du schéma de codage utilisé pour les convertir en octets.

Détermination du nombre d'octets

Pour obtenir la taille d'une chaîne en octets, convertissez-la en tableau d'octets à l'aide de la méthode getBytes() et inspectez la taille du tableau :

<code class="java">String string = "Hello World";
byte[] utf8Bytes = string.getBytes("UTF-8");
int byteCount = utf8Bytes.length;</code>
Copier après la connexion

Considérations sur l'encodage

Le Le schéma de codage affecte le nombre d'octets. Voici des exemples de différents encodages appliqués à la même chaîne :

<code class="java">byte[] utf8Bytes = string.getBytes("UTF-8");  // Each char as 1 byte
byte[] utf16Bytes = string.getBytes("UTF-16"); // Each char as 2 bytes
byte[] utf32Bytes = string.getBytes("UTF-32"); // Each char as 4 bytes
byte[] isoBytes = string.getBytes("ISO-8859-1");  // Each ASCII char as 1 byte
byte[] winBytes = string.getBytes("CP1252");   // Each ASCII char as 1 byte</code>
Copier après la connexion

Caractères spéciaux et encodages multi-octets

Même les chaînes ASCII peuvent avoir un nombre d'octets variable en fonction de l'encodage. Par exemple, en UTF-8, certains caractères peuvent nécessiter plusieurs octets :

<code class="java">String interesting = "\uF93D\uF936\uF949\uF942"; // Chinese ideograms
byte[] utf8Bytes = interesting.getBytes("UTF-8");  // Each char as 3 bytes</code>
Copier après la connexion

Encodage par défaut et spécification explicite

Si aucun argument d'encodage n'est fourni, le paramètre d'encodage de la plateforme le jeu de caractères par défaut est utilisé. Il est recommandé de toujours spécifier explicitement le jeu de caractères souhaité pour éviter des résultats inattendus.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!