Question

Quelle est la façon techniquement correcte de se référer à « haute ascii » ou « caractères ASCII étendus »? Je ne veux pas seulement la gamme de 128-255, mais un caractère au-delà de la portée 0-127.

Souvent, ils sont appelés diacritiques, les lettres accentuées, parfois avec désinvolture appelés caractères « nationaux » ou non-anglais, mais ces noms sont soit imprécises ou qu'elles ne couvrent qu'un sous-ensemble des caractères possibles.

Qu'est-ce correct, terme précis qui programmeurs reconnaître immédiatement? Et quel serait le meilleur terme anglais à utiliser en parlant à un public non technique?

Était-ce utile?

La solution

"Les caractères non-ASCII"

Autres conseils

codes de caractères ASCII ci-dessus 127 ne sont pas définis. beaucoup diffèrent fournisseurs d'équipements et logiciels ont développé leur propre jeu de caractères pour la valeur 128-255. Certains ont choisi des symboles de dessin, sone choisir les caractères d'accent, d'autres choisissent d'autres caractères.

Unicode est une tentative de faire un ensemble universel de codes de caractères qui comprend les caractères utilisés dans la plupart des langues. Cela inclut non seulement les alphabets occidentaux traditionnels, mais cyrillique, l'arabe, le grec, et même un grand ensemble de caractères chinois, japonais et coréen, ainsi que beaucoup d'autres langues à la fois moderne et ancienne.

Il existe plusieurs implémentations d'Unicode. L'un des plus populaires si UTF-8. Une des principales raisons de cette popularité est qu'il est rétrocompatible avec ASCII, codes de caractères 0 à 127 sont les mêmes pour les deux ASCII et UTF-8.

Cela signifie qu'il est préférable de dire que ASCII est un sous-ensemble de UTF-8. Caractères du code 128 et ci-dessus ne sont pas ASCII. Ils peuvent être UTF-8 (ou autre Unicode) ou ils peuvent être une implémentation personnalisée par un fournisseur de matériel ou de logiciel.

Vous pouvez frapper un terme comme « trans-ASCII », « supra-ASCII », « ultra-ASCII », etc. En fait, serait encore mieux « méta-ASCII », car il fait allusion au bit méta.

Si vous dites « High ASCII », vous êtes par définition dans la plage décimale 128-255. ASCII elle-même est définie comme étant une représentation de caractères à un octet (en fait 7 bits); l'utilisation du bit élevé pour permettre des caractères non anglais est arrivé plus tard et ont donné lieu à des pages de code qui ont défini des caractères particuliers représentés par des valeurs particulières. Tout multi-octets (> 255 valeur décimale) n'est pas ASCII.

Une séquence de bits qui ne représente pas un caractère ASCII est définitivement pas un caractère Unicode.

En fonction du caractère d'encodage que vous utilisez, il pourrait être:

  • une séquence de bits non valide
  • un caractère Unicode
  • un caractère ISO-8859-x
  • un caractère Microsoft 1252
  • un caractère dans un autre codage de caractères
  • un bug, les données binaires, etc

La seule définition qui correspondrait à toutes ces situations est:

  • Pas un caractère ASCII

Pour être très pédant, même « un caractère non-ASCII » ne correspondraient pas exactement toutes ces situations, parce que parfois une séquence de bits en dehors de cette plage peut être simplement une séquence de bits non valide, et non tout un caractère.

« ASCII étendu » est le terme que je l'utilise, ce qui signifie « caractères au-delà du 0-127 original ».

Unicode est un ensemble possible de caractères ASCII étendus, et est tout à fait, tout à fait grand.

UTF-8 est la façon de représenter les caractères Unicode qui est rétrocompatible avec l'ASCII d'origine.

mots tirés d'une ressource en ligne (

caractères Unicode non-ASCII.

scroll top