Cet article présente principalement les informations pertinentes sur l'analyse du nombre d'octets occupés par char en Java. Les amis qui en ont besoin peuvent se référer à
Exemple d'analyse du nombre d'octets occupés par char en Java <.>
1 : "octet" est un octet, "bit" est un bit
2 : 1 octet = 8 bits ; >
Le caractère fait 2 octets en Java. Java utilise Unicode, 2 octets (16 bits) pour représenter un caractère.
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 d'exécution :
taille des octets1 : 2
Java utilise l'Unicode pour représenter les caractères. L'Unicode du caractère chinois "中" est de 2 octets.
La méthode String.getBytes(encoding) consiste à obtenir la représentation byte
de l'encodage spécifié,
Habituellement, gbk/gb2312 vaut 2 octets, UTF-8 fait 3 octets.
Si l'encodage n'est pas spécifié, l'encodage par défaut du système sera utilisé.
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!