Maison > Java > javaDidacticiel > le corps du texte

Comment convertir une chaîne en tableau d'octets à l'aide de la fonction getBytes() de la classe String en Java

WBOY
Libérer: 2023-07-25 20:09:19
original
1724 Les gens l'ont consulté

Comment utiliser la fonction getBytes() de la classe String en Java pour convertir une chaîne en tableau d'octets

En Java, la classe String stocke les chaînes sous forme de caractères, et parfois nous devons convertir la chaîne en octet array Processing, vous pouvez alors utiliser la fonction getBytes() de la classe String pour terminer la conversion. La fonction getByte() encode une chaîne dans un tableau d'octets spécifié et renvoie le tableau d'octets.

Ci-dessous, je vais vous présenter comment utiliser la fonction getBytes() en Java pour convertir une chaîne en un tableau d'octets et donner des exemples de code pertinents.

Exemple de code :

public class StringToByteArrayDemo {
    public static void main(String[] args) {
        String str = "Hello, World!";
        byte[] byteArray = str.getBytes();
        
        System.out.println("原始字符串:" + str);
        System.out.println("转换后的字节数组:" + Arrays.toString(byteArray));
    }
}
Copier après la connexion

Dans la méthode main() du code ci-dessus, nous définissons d'abord une variable chaîne str dont la valeur est "Hello, World !". Ensuite, nous utilisons la fonction getBytes() pour convertir la chaîne en un tableau d'octets et assignons le tableau d'octets converti à la variable byteArray. Enfin, imprimez la chaîne d'origine et le tableau d'octets converti via System.out.println(). str,其值为 "Hello, World!"。接着,我们使用 getBytes() 函数将字符串转换为字节数组,并将转换后的字节数组赋值给 byteArray 变量。最后,通过 System.out.println() 打印原始字符串和转换后的字节数组。

输出结果:

原始字符串:Hello, World!
转换后的字节数组:[72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 33]
Copier après la connexion

从输出结果中可以看出,原始字符串 "Hello, World!" 被转换为了字节数组 [72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 33]。

需要注意的是,getBytes() 函数默认会使用平台的默认字符集将字符串编码成字节数组。如果需要指定字符集,可以使用 getBytes(String charsetName) 函数,其中 charsetName 是指定的字符集名称。例如,下面的代码将字符串使用 UTF-8 字符集编码为字节数组:

byte[] byteArray = str.getBytes("UTF-8");
Copier après la connexion

另外,转换后的字节数组与原始字符串的长度不一定相等。这是因为在 Java 中,一个字符可能占用多个字节的存储空间,特别是在使用非 ASCII 字符集时。如果需要获取字节数组的长度,可以使用 byteArray.length

Résultat de sortie :

rrreee

Comme le montre le résultat de sortie, la chaîne d'origine "Hello, World!" est convertie en un tableau d'octets [72, 101, 108, 108, 111, 44, 32, 87, 111 , 114, 108, 100, 33].

Il convient de noter que la fonction getBytes() utilisera le jeu de caractères par défaut de la plateforme pour encoder la chaîne dans un tableau d'octets par défaut. Si vous devez spécifier un jeu de caractères, vous pouvez utiliser la fonction getBytes(String charsetName), où charsetName est le nom du jeu de caractères spécifié. Par exemple, le code suivant encode une chaîne dans un tableau d'octets en utilisant le jeu de caractères UTF-8 : 🎜rrreee🎜 De plus, le tableau d'octets converti n'a pas nécessairement la même longueur que la chaîne d'origine. En effet, en Java, un caractère peut occuper plusieurs octets d'espace de stockage, notamment lors de l'utilisation de jeux de caractères non-ASCII. Si vous avez besoin d'obtenir la longueur d'un tableau d'octets, vous pouvez utiliser byteArray.length. 🎜🎜Pour résumer, les chaînes peuvent être facilement converties en tableaux d'octets grâce à la fonction getBytes() de la classe String. Nous pouvons utiliser cette fonction pour gérer certaines situations qui nécessitent des opérations en octets, telles que la transmission réseau, le cryptage, la lecture et l'écriture de fichiers, etc. Dans le même temps, en spécifiant différents jeux de caractères, nous pouvons également convertir les chaînes en différentes méthodes de codage. 🎜🎜J'espère que cet article pourra vous aider à comprendre comment utiliser la fonction getBytes() en Java pour convertir une chaîne en tableau d'octets, ainsi que les scénarios d'application associés. 🎜

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!

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal