Combien d'octets char occupe-t-il en Java ?
Un caractère en Java occupe 2 octets . Java utilise Unicode, 2 octets pour représenter un caractère. Un chiffre, un caractère anglais ou chinois est un caractère, mais lorsqu'il s'agit de chiffres et d'anglais, le premier octet des deux octets stockés est 0, ce qui est une perte d'espace. Le stockage des caractères chinois occupe 2 octets.
1 : "octet" est un octet, "bit" est un bit
2 : 1 octet = 8 bits
L'exemple de code est le suivant :
public class Test { public static void main(String[] args) { String str = "中"; char x = '中'; byte[] bytes = null; byte[] bytes1 = null; try { bytes = str.getBytes("utf-8"); bytes1 = charToByte(x); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("bytes 大小:" + bytes.length); System.out.println("bytes1大小:" + bytes1.length); } public static byte[] charToByte(char c) { byte[] b = new byte[2]; b[0] = (byte)((c & 0xFF00) >> 8); b[1] = (byte)(c & 0xFF); return b; } }
Résultat de l'exécution :
bytes 大小:3 bytes1大小:2
Java utilise l'Unicode pour représenter les caractères L'Unicode du caractère chinois "中" fait 2 octets.
La méthode String.getBytes(encoding) consiste à obtenir la représentation sous forme de tableau d'octets de l'encodage spécifié
Habituellement, gbk/gb2312 fait 2 octets et utf-8 fait 3 octets.
Si l'encodage n'est pas spécifié, l'encodage par défaut du système sera utilisé.
Site Web php chinois, un grand nombre de Tutoriels d'introduction à Java gratuits, bienvenue pour apprendre en ligne !
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!