Maison  >  Article  >  Quelle est la différence entre Unicode et Ascii

Quelle est la différence entre Unicode et Ascii

青灯夜游
青灯夜游original
2021-10-15 13:50:3137530parcourir

Différences : 1. L'encodage ASCII est de 1 octet, tandis que l'encodage Unicode est généralement de 2 octets. 2. ASCII est un codage sur un seul octet et ne peut pas être utilisé pour représenter le chinois ; Unicode peut représenter toutes les langues. 3. Le codage Unicode nécessite deux fois plus d'espace de stockage que le codage ASCII.

Quelle est la différence entre Unicode et Ascii

L'environnement d'exploitation de ce tutoriel : système Windows 7, ordinateur Dell G3.

Encodage ASCII

  • Le code ASCII utilise une combinaison de nombres binaires spécifiée de 7 ou 8 bits pour représenter 128 ou 256 caractères possibles. Le code ASCII standard, également appelé code ASCII de base, utilise 7 chiffres binaires (le chiffre binaire restant est 0) pour représenter toutes les lettres majuscules et minuscules, les chiffres de 0 à 9, les signes de ponctuation et les commandes spéciales utilisées dans les caractères anglais américains. Le dernier bit est utilisé pour le contrôle de parité.
  • Problème : ASCII est un codage sur un seul octet et ne peut pas être utilisé pour représenter le chinois (le codage chinois nécessite au moins 2 octets). Par conséquent, la Chine a formulé le codage GB2312 pour coder le chinois. Mais il existe de nombreuses langues différentes dans le monde, un codage unifié est donc nécessaire.

Unicode

  • Unicode unifie toutes les langues dans un ensemble d'encodages, il n'y aura donc plus de problèmes de code tronqué.
  • Unicode utilise le plus souvent deux octets pour représenter un caractère (si vous souhaitez utiliser des caractères très rares, vous avez besoin de 4 octets). Les systèmes d'exploitation modernes et la plupart des langages de programmation prennent directement en charge Unicode.

La différence entre Unicode et ASCII

  • L'encodage ASCII est de 1 octet, tandis que l'encodage Unicode est généralement de 2 octets.
    Le codage ASCII de la lettre A est 65 en décimal et 01000001 en binaire ; en Unicode, il suffit d'ajouter 0 devant, soit : 00000000 01000001.
  • Nouveau problème : s'il est unifié dans le codage Unicode, le problème des caractères tronqués disparaîtra. Cependant, si le texte que vous écrivez est essentiellement entièrement en anglais, le codage Unicode nécessite deux fois plus d'espace de stockage que le codage ASCII, ce qui est très peu économique en termes de stockage et de transmission.

UTF8

  • Ainsi, dans un esprit de conservation, il existe un autre codage UTF-8 qui convertit le codage Unicode en "codage à longueur variable".
  • Le codage UTF-8 code un caractère Unicode en 1 à 6 octets selon différentes tailles de nombres. Les lettres anglaises couramment utilisées sont codées en 1 octet, les caractères chinois font généralement 3 octets et seuls les caractères très rares seront codés en 4-. 6 octets. Si le texte que vous souhaitez transmettre contient de nombreux caractères anglais, l'utilisation du codage UTF-8 peut économiser de l'espace.
Caractère ASCII Unicode UTF-8
A 01000001 00000000 01 01000001
中文 x 01001110 00101101 01001110 00101101
  • Vous pouvez également constater dans le tableau ci-dessus que le codage UTF-8 présente un avantage supplémentaire, c'est-à-dire que le codage ASCII peut en fait être considéré comme faisant partie du codage UTF-8. Par conséquent, un grand nombre de supports uniquement. Le codage ASCII peut continuer à fonctionner sous le codage UTF-8.

Fonctionnement du codage de caractères courant dans les ordinateurs

  • Le codage Unicode est utilisé uniformément dans la mémoire de l'ordinateur Lorsqu'il doit être enregistré sur le disque dur ou transféré, il est converti en codage UTF-8.
  • Lors de l'édition avec le Bloc-notes, les caractères UTF-8 lus dans le fichier sont convertis en caractères Unicode et stockés dans la mémoire. Une fois l'édition terminée, Unicode est converti en UTF-8 et enregistré dans le fichier lors de l'enregistrement :

    Quelle est la différence entre Unicode et Ascii
  • Lors de la navigation sur le Web, le serveur convertira le contenu Unicode généré dynamiquement en UTF-8 puis le transmettra au navigateur :

    Quelle est la différence entre Unicode et Ascii

Pour plus de connaissances connexes, veuillez visiter la colonne FAQ !

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn