Расширенный ASCII вопрос - PullRequest
       4

Расширенный ASCII вопрос

0 голосов
/ 17 октября 2010

Я прочитал википедию, но я не понимаю, является ли расширенный ASCII все еще просто ASCII и доступен на любом компьютере, на котором будет работать мое консольное приложение? Также, если я правильно понимаю, я могу написать ASCII-символ только с использованием его кода Unicode в VB или C #. Спасибо

Ответы [ 3 ]

3 голосов
/ 17 октября 2010

ASCII охватывает только символы со значением 0-127, и они одинаковы на всех компьютерах. ( Ну, почти , хотя это в основном вопрос глифов, а не семантики.)

Расширенный ASCII - это термин для различных однобайтовых кодовых страниц, которым назначаются различные символы в диапазоне 128-255. Не существует единого набора расширенных символов ASCII.

В C # и VB.NET все строки являются Unicode, поэтому по умолчанию не нужно беспокоиться об этом - вопрос о том, может ли символ отображаться в консольном приложении, зависит от используемых шрифтов, а не от ограничение любой конкретной однобайтовой кодовой страницы.

3 голосов
/ 17 октября 2010

Как уже говорили другие, истинный ASCII - это всегда младшие 7 бит каждого байта. До появления (и повсеместного распространения) стандартов Unicode были выпущены различные расширения набора символов ASCII, которые использовали восьмой бит. Наиболее распространенным в мире Windows является кодовая страница Windows 1252 .

Если вы хотите использовать эту кодировку в .NET, вы можете получить ее так:

Encoding windows1252 = Encoding.GetEncoding("windows-1252");
1 голос
/ 17 октября 2010

Как говорится в Википедии, ASCII - это всего 0-127. «Расширенный ASCII» - это неправильное употребление, его следует избегать и использовать для обозначения «некоторого другого набора символов, основанного на ASCII, который использует только одиночные байты» (что означает не многобайтовый, как UTF-8 ) Иногда этот термин означает 128-255 кодовых точек этого конкретного набора символов », - но опять же, он неопределенный, и вы не должны рассчитывать на него, означая что-то конкретное.

Использование этого термина иногда подвергается критике, поскольку может быть ошибочно истолковано, что стандарт ASCII был обновлен и теперь содержит более 128 символов или что термин однозначно идентифицирует одну кодировку, обе из которых не соответствуют действительности.

Источник: http://en.wikipedia.org/wiki/Extended_ASCII

...