web-dev-qa-db-fra.com

Combien de bits ou d'octets y a-t-il dans un caractère?

Combien de bits ou d'octets y a-t-il par "caractère"?

75
RedKing

Cela dépend du caractère et de l'encodage:

  • Un caractère ASCII dans le codage ASCII à 8 bits est de 8 bits (1 octet), bien qu'il puisse tenir dans 7 bits.

  • Un caractère ISO-8895-1 du codage ISO-8859-1 a 8 bits (1 octet).

  • Un caractère Unicode dans le codage UTF-8 est compris entre 8 bits (1 octet) et 32 ​​bits (4 octets).

  • Un caractère Unicode dans le codage UTF-16 est compris entre 16 (2 octets) et 32 ​​bits (4 octets), bien que la plupart des caractères communs prennent 16 bits. C'est l'encodage utilisé par Windows en interne.

  • Un caractère Unicode dans le codage UTF-32 est toujours de 32 bits (4 octets).

  • Un caractère ASCII dans UTF-8 correspond à 8 bits (1 octet) et à UTF-16 - 16 bits.

  • Les caractères supplémentaires (non-ASCII) dans ISO-8895-1 (0xA0-0xFF) prendraient 16 bits en UTF-8 et UTF-16.

Cela signifierait qu'il y a entre 0,03125 et 0,125 caractères dans un bit.

155
Rosh Oxymoron

Il y a 8 bits dans un octet (normalement dans Windows).

Cependant, si vous avez affaire à des caractères, cela dépendra du jeu de caractères/encodage. Le caractère Unicode peut avoir 2 ou 4 octets, ce qui fait 16 ou 32 bits, alors que Windows-1252 , parfois appelé ANSI à tort, n'est que de 1 octet, donc 8 bits.

Dans la version asiatique de Windows et dans d’autres, le système entier fonctionne sur deux octets, ce qui signifie qu’un caractère est composé de 16 bits.

[~ # ~] édité [~ # ~]

Selon le commentaire de Matteo, toutes les versions contemporaines de Windows utilisent 16 bits en interne par caractère.

12
RichardTheKiwi