Le type char en Java occupe 2 octets. L'octet de type char est lié au jeu de caractères que nous utilisons. Si le jeu d'encodage ASCII est utilisé, alors char occupe un octet. Si le format d'encodage UTF8 est utilisé, puis char Prend deux octets.
char était utilisé pour stocker des caractères lors de sa conception initiale. Cependant, il y a tellement de caractères dans le monde. S'il y a 1 octet, cela signifie que. seulement Il est évidemment inapproprié de stocker 256, et s'il y a deux octets, alors 2 ^ 16 (65536) peuvent être stockés. Ce nombre correspond au nombre de caractères de langue dans la plupart des pays, l'équipe Java utilise donc Unicode comme paramètre. encodage, un caractère stocké sur 2 octets.
Mais Unicode n'est qu'un standard, et l'implémentation spécifique inclut toujours des encodages tels que UTF-8 ou UTF-16.
Le caractère Java est-il nécessairement de 2 octets ?
Pas nécessairement, cela a quelque chose à voir avec le jeu de caractères que nous utilisons. Si nous utilisons le jeu d'encodage ASCII, alors char occupe un octet. Et si nous utilisons le format d'encodage UTF-8 ? UTF-8 est un codage de longueur variable, et la longueur du codage est dynamique, elle n'est donc pas nécessairement certaine.
Char peut-il stocker des caractères chinois ?
Ce problème dépend toujours du jeu d'encodage utilisé. Si ASCII est utilisé, il ne sera certainement pas stocké. Si UTF-8 est utilisé, tout ira bien.
Résumé
La longueur du caractère et sa capacité à stocker des caractères chinois sont liés au format d'encodage. Pour l'encodage multiplateforme lors de l'encodage, nous devons définir le format correspondant lors de l'encodage et du décodage pour éviter les exceptions causées par l'encodage et le décodage.
Recommandations d'apprentissage associées : Tutoriel de base Java
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!