1 octet = 8 bits ;
char est de 2 octets en Java. Java utilise Unicode, 2 octets (16 bits) pour représenter un caractère. (Apprentissage recommandé : Cours Java )
Un chiffre ou un caractère anglais ou chinois est un caractère, mais les deux octets stockés dans le nombre et l'anglais Le premier octet est tous 0, ce qui est une perte d'espace.
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 :
bytes 大小:3 bytes1大小:2
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!