2010-10-17 2 views
0

Je lis wikipedia mais je ne comprends pas si ASCII étendu est encore juste ASCII et est disponible sur n'importe quel ordinateur qui exécuterait mon application de console? Aussi si je le comprends correctement, je peux écrire un char ASCII seulement en utilisant son code unicode en VB ou en C#. MerciQuestion ASCII étendue

+0

Quel genre de personnages que vous prévoyez d'utiliser dans votre application console? Caractères graphiques? Caractères non anglais? – bzlm

+0

Cela a été bien couvert dans sa question précédente: http://stackoverflow.com/questions/3948089/console-write-display-extended-ascii-chars –

+0

Fondamentalement, les sourires et les flèches et aussi ceux de la vieille boîte qui sont dans le prolongé Ascii. – Loj

Répondre

3

ASCII ne couvre que les caractères dont la valeur 0-127, et ce sont les mêmes sur tous les ordinateurs. (Well, almost, bien que ce soit principalement une question de glyphes plutôt que de sémantique).

ASCII étendu est un terme pour diverses pages de code codées sur un octet qui affectent divers caractères à la plage 128-255. Il n'y a pas de jeu de caractères "ASCII étendu". En C# et VB.NET, toutes les chaînes sont en Unicode, donc par défaut, il n'y a pas besoin de s'inquiéter à ce sujet - si un caractère peut être déplacé dans une application de la console est une question de polices utilisées, pas la limitation de toute page de codes spécifique à un octet.

+0

Vous n'écrivez pas de logiciel qui fonctionne sur les systèmes EBCDIC ?! : P –

+0

@Roger: Non, non je ne sais pas. Et je ne pense pas que l'OP va le faire non plus :) (Aussi, merci.) –

+0

Merci, même si je n'utilise que les 127 premiers, je peux être sûr qu'ils seront bien affichés, non? – Loj

1

Comme le dit Wikipedia, ASCII est seulement 0-127. "Extended ASCII" est un terme impropre, devrait être évité, et utilisé pour signifier vaguement "un autre jeu de caractères basé sur ASCII qui n'utilise que des octets simples" (ce qui signifie pas multi-octets comme UTF-8). Parfois, le terme signifie les 128 à 255 codes de ce jeu de caractères spécifique, mais encore une fois, il est vague et vous ne devriez pas compter sur ce qui signifie quelque chose de spécifique.

L'utilisation du terme est parfois critiqué, car il peut être interprété de façon erronée que la norme ASCII a été mis à jour pour inclure plus de 128 caractères ou que le terme identifie sans ambiguïté un codage unique, qui sont tous deux faux.

Source: http://en.wikipedia.org/wiki/Extended_ASCII

3

Comme d'autres l'ont dit, le vrai ASCII est toujours les 7 bits les plus bas de chaque octet. Avant l'avènement (et l'ubiquité) des normes Unicode, diverses extensions du jeu de caractères ASCII utilisant le huitième bit ont été libérées. Le plus répandu dans le monde Windows est Windows code page 1252.

Si vous cherchez à utiliser ce codage dans .NET, vous pouvez l'obtenir comme ceci:

Encoding windows1252 = Encoding.GetEncoding("windows-1252");