Инструменты пользователя

Инструменты сайта


ascii

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

ascii [2012/06/20 14:23] (текущий)
Строка 1: Строка 1:
 +====== ASCII ======
 +  * [[Кодировка]] - набор символов (character set, charset) и синонимы:​ кодовая страница,​ кодировка (encoding). Например [[Unicode]],​ Windows-1251(CP1251),​ ASCII.
 +  * [[Punycode]] — стандартизированный метод преобразования последовательностей Unicode- символов в ACE- последовательности
 +  * [[http://​ru.wikibooks.org/​wiki/​%D0%AF%D0%B7%D1%8B%D0%BA_%D0%A1%D0%B8_%D0%B2_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B0%D1%85/​ASCII_%D0%BA%D0%BE%D0%B4%D1%8B_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D0%BE%D0%B2|Язык Си в примерах/​ASCII коды символов]]
 +  * [[http://​www.cppreference.com/​wiki/​ascii|ASCII Chart]]
 +  * [[wpru>​ASCII]]
 +
 +**ASCII** (American Standard Code for Information Interchange — американский стандартный код для обмена информацией;​ по-американски произносится [э́ски],​ тогда как в Великобритании чаще произносится [а́ски];​ по-русски произносится также [а́ски] или [аски́]).
 +
 +ASCII представляет собой кодировку для представления десятичных цифр, латинского и национального алфавитов,​ знаков препинания и управляющих символов. Изначально разработанная как 7-битная,​ с широким распространением 8-битного байта ASCII стала восприниматься как половина 8-битной. В компьютерах обычно используют расширения ASCII с задействованной второй половиной байта. Обычно символ ASCII расширяют до 8 бит, просто добавляя один нулевой бит в качестве старшего.
 +<​note>​**Переносимый набор символов** (Portable Character Set) — **набор из 103 символов**,​ которые,​ согласно стандарту [[POSIX]], должны присутствовать в любой используемой кодировке. Включает в себя все печатные символы US-ASCII и часть управляющих. Является базовым алфавитом для практически всех современных языков программирования.
 +На коды символов из переносимого набора накладываются следующие ограничения:​
 +  * NUL должен быть символом,​ где все биты установлены в 0.
 +  * Коды десятичных цифр 0—9 должны идти в возрастающем порядке,​ причём коды двух соседних цифр должны отличаться на единицу.
 +Подробнее:​ [[wpru>​Переносимый набор символов]]</​note>​
 +<​note>​US-ASCII это ASCII без национальных символов.</​note>​
 +Удобнее использовать 8-битные кодировки (кодовые страницы),​ где нижнюю половину кодовой таблицы (0—127) занимают символы US-ASCII, а верхнюю (128—255) — дополнительные символы,​ включая набор национальных символов. В Юникоде ([[utf-8|utf-8]]) первые 128 символов тоже совпадают с соответствующими символами US-ASCII.
 +
 +<​file>​
 +#include <​stdlib.h>​
 +#include <​stdio.h>​
 +/​*Программа отображает символы и их соответствующие символы из таблицы ASCII.*/
 +int main() {
 +    unsigned char a;
 +    for (a=32;​a<​128;​a++)
 +        printf("​%3d = '​%c''​\n",​a,​a);​
 +
 +    return (EXIT_SUCCESS);​
 +}
 +</​file>​
 +Важность кодировки ASCII, включающей латинский алфавит,​ цифры и основные знаки пунктуации,​ необычайно велика:​ почти все остальные (большие по размеру) кодировки совместимы с ней, т. е. размещают на своих первых 128 знакоместах те же самые символы в том же порядке. ​
 +
 +Первые 32 позиции в кодировке ASCII заняты так называемыми управляющими символами (control characters),​ предназначенными не для передачи собственно текстовой информации,​ а для управления устройством,​ читающий (или получающим по линии связи) текстовый файл. Лишь немногие из этих символов — возврат каретки,​ перевод строки,​ табуляция — до сих пор используются в более-менее общепринятых значениях;​ остальные,​ давно уже вышедшие из употребления,​ в былые времена выполняли для «голого» ASCII-текста те же функции,​ которые сейчас возложены на разнообразные форматы данных и протоколы связи. ​
 +
 +Задействовав в кодировке ASCII старший бит, мы получаем дополнительные 128 знакомест,​ которых должно хватить для кодирования,​ например,​ кириллического алфавита или набора каких-нибудь специальных символов. К сожалению,​ восьмибитных кодировок на свете существует гораздо больше,​ чем наборов символов,​ которые они кодируют. Очень характерна в этой связи ситуация с русским языком — анархия компьютеризации в нашей стране,​ наложившаяся на всемирную анархию конкурирующих компьютерных платформ и операционных систем,​ привела к тому, что для кириллицы существует сразу несколько однобайтовых кодовых таблиц.
  
загрузка...
ascii.txt · Последние изменения: 2012/06/20 14:23 (внешнее изменение)