Компьютерное Образование
Блог Советов WinXP Интернет Вычисление Загрузки Vista Первая страница

Приведение Символов - ASCII, ANSI, UTF-8 и все это
Как сохранить прямо различные способы, которыми компьютеры кодируют символы.


Так как компьютеры делают все в двоичном коде, символы и другие символы, которые мы используем, фактически закодированы как число на компьютере. Поскольку есть различные способы сделать это кодирование, вещи могут иногда становиться запутывающими, создавая или читая документы, которые используются на многих компьютерах и в различных частях мира. Например, Windows может закодировать определенные символы по-другому от систем Linux или Mac. Кроме того, у неанглийских языков могут быть символы не подарок в специфическом наборе Вашего компьютера. Тогда есть специальные символы как те в математике или валютах. Чтобы помочь приносить заказ ко всему этому, есть международные эталоны под общей оплошностью Консорциума Уникода, но по историческим, национальным, и частным причинам есть много несогласованностей и осложнений. По этим причинам каждый пользователь компьютера должен знать немного о том, как компьютеры представляют символы. Эта статья попытается разъяснить различные способы, которыми символы обработаны в компьютерах и обсуждают некоторые из проблем, которые могут произойти.

Хронология и Фон Символьного Кодирования

Кодирование символов возвращается длинный путь. Различные методы, такие как сигналы дыма, вспышки зеркала, и флажки использовались начиная с древних времен. Пример более современного но предварительного компьютера - система Азбуки Морзе длинных и коротких электрических импульсов, используемых, чтобы послать телеграммы. Как технология, продвинутая в 19-ом и в начале 20-ого столетия, другие системы, такие как перфорированная плата Hollerith вошли в употребление. Когда цифровой компьютер сначала прибыл в сцену в середине 20-ого столетия. это было, поскольку его имя предлагает, арифмометр с небольшим количеством способности для того, чтобы обработать что-нибудь кроме числовых данных. Однако, потребность обработать больше чем числа скоро дала начало системе для того, чтобы кодировать символы, которые стали известными как ASCII.

ASCII

Это не были только компьютеры, которые нуждались в системе для того, чтобы кодировать символы. Оборудование связи, такое как машины телетайпа также потребовало метода представления символов и других символов. Различные схемы использовались, но систему называются, ASCII (после Стандартного американского кода обмена информацией) вошел в общее использование и использовался как основание для раннего компьютерного кодирования. Биты были драгоценны обратный тогда, и ASCII - 7-битовая система. Это привело к некоторому беспорядку, потому что сегодня почти все сделано в 8-битовых байтах (октеты). ASCII все еще используется, но вообще использует 8-битовый код с установленным на нуль старшим битом.

С 7 битами 128 чисел (0-127 в десятичной системе счисления) доступны, чтобы закодировать символы. Меньше фактически используется, потому что 0-31 и 127 были обойдены для непечатных управлений устройства как "перевод строки", "Бэлл", и "перевод каретки". (Повторно вызовите, что ASCII был разработан для множества устройств, включая телетайп.) печатаемому набору (включая символ для "пространства") поручают закодировать пункты 32-126. 95 печатаемым символам показывают в иллюстрации I. Символы соответствуют в значительной степени тому, что было доступно на клавиатурах пишущей машинки дня. Хотя они - официальное кодирование, которое было включено в международную систему, определенную Уникодом, были некоторые национальные изменения, и это специфическое кодирование иногда называют американским ASCII. Вообще, однако, национальные изменения больше не используются.

Иллюстрация I. Печатаемые символы ASCIIСимволы ASCII

Отметьте несколько хитрый пункт, что Вы должны иметь в виду. Число, которое используется компьютером, чтобы закодировать символ, только, что - кодируют для отображения или печати кое-чего. Например, у цифры "7", которой показывают выше, есть номер кода ASCII "55" (в десятичном числе). Это кодирование обращается кое к чему, что используется, чтобы отобразить символ и не то же самое как фактическая часть числовых данных, которые используются в арифметических вычислениях. Другой пункт - то, что фактическое физическое появление символа зависит от того, какой шрифт Вы используете и какая передающая среда используется для дисплея.

Вышеупомянутое кодирование (плюс управляющие коды) определяет строгое значение ASCII. К сожалению, термин "ASCII" использован свободно и не всегда имеет то же самое значение. Иногда это означает открытый текст, у которого нет никакого форматирования, даже когда символы не-ASCII присутствуют. Иногда, как с программным обеспечением FTP, это означает что-нибудь, что не двоичный файл.

Другие изменения ASCII немного, которые используют пункты управляющего кода для печатаемых символов. Так как компьютеры не нуждаются во всех управлениях, что устройства как использование телетайпов, некоторые из зарезервированных пунктов 0-31 были назначены вместо этого на печатаемые символы. Это присваивание изменилось и было определено включением так называемой "кодовой страницы", чтобы определить символы. Например, кодовая страница все еще присутствует в Windows для использования в командной строке. Для осложнений, который вызывает, см. эту справочную информацию.

Латынь Международной организации по стандартизации 1 (Международная организация по стандартизации 8859-1)

ASCII имеет очень ограниченный набор и был скоро расширен к 8-битовой системе, у которой есть 256 пунктов кода, 0-255. Добавленный к символам ASCII различные символы, необходимые для того, чтобы написать языки Западной Европы и определенные специальные символы. Это кодирование называют латынью Международной организации по стандартизации 1 или Международная организация по стандартизации 8859-1, "Международная организация по стандартизации", исходящая из Международной организации по Стандартизации. Приложения Microsoft также именуют это кодирование как "западный европеец (Международная организация по стандартизации)". Дополнительные символы занимают позиции кода 160 - 255 и показаны в иллюстрации II. Код позиционирует 128 - 159, явно зарезервированы в целях управления.

Иллюстрация II. Addiional печатаемые символы в латинском 1Латинский 1 символ

Это специфическое кодирование очень распространено и является одним из наиболее используемых в Интернете. Чтобы перепутать дела, однако, есть связанное кодирование, которое не официально, но используется многими системами Windows. Поскольку Windows настолько широко распространен, это кодирование также распространено. Это обсуждается затем.

ANSI (Windows 1252)

Это 8-битовое определенное для Microsoft кодирование не часть официальных стандартов Уникода, но распространено из-за преобладания Microsoft. Это - то же самое как латынь Международной организации по стандартизации 1 с одним большим исключением. Позиции 128-159 на латыни Международной организации по стандартизации 1 зарезервированы для управлений, но Microsoft, кодирующего использование большинство из них для печатаемых символов. Это изменение Microsoft называют по-разному ANSI, Windows 1252, или латынью Windows 1. Приложения Microsoft также иногда используют название "западный европеец (Windows)". Только, чтобы перепутать дела, некоторые люди даже называют это кодирование "ASCII". Детальные таблицы кодирования в многочисленной справочной информации, включая сайт Алана Вуда.

Отметьте, что приложение, которое ожидает, что файл будет закодирован согласно латыни Международной организации по стандартизации 1, не будет выполнять правильно символы соответствующими, чтобы закодировать пункты 128-159. Например, файлы, сохраненные в Записной книжке часто, используют ANSI, и это может иногда приводить к проблемам.

UTF-8 (8-битовый Формат UnicodeTransformation)

Пока мы только рассмотрели символ, кодирующий соответствующий для западноевропейских языков. Однако, даже в Европе есть другие алфавиты, такие как греческий язык и Кириллица, и у остальной части мира есть еще много так же как идеографическое письмо. Общие правила для того, чтобы кодировать языки мира так же как многих специализированных символов установлены Консорциумом Уникода. Один 8-битовый байт больше не достаточен, кодируя много языков, и самый общий способ представить стандарты Уникода использует переменное число 8-битовых блоков или октетов и назван UTF-8. От одного до к четырем октетам может использоваться, но старый ASCii, и кодирование Международной организации по стандартизации сохраняется с использованием единственного октета. Эта совместимость вниз очень полезна и является одной причиной для широкого использования UTF-8 в Интернете.

Другая система, используя 16-разрядные модули и названный UTF-16 находится также в использовании. Например, Windows XP использует это внутренне. Однако, с этим обычно не сталкиваются в обычном использовании компьютера.

Пример кодирования проблемы - символы Unexpected в Записной книжке

Периодически кто-то переносит кое-что в Интернете о том, как таинственные сообщения появляются во вспомогательной программе Notepad Windows. То, что, кажется, тайна, является результатом Записной книжки, перепутывающей, какое символьное кодирование используется. Раймонд Чен объясняет, что случается подробно при этой ссылке и дает больше объяснения при этой ссылке.

Используя символьные коды

При условии, что у Вашей системы есть шрифты, которые поддерживают их, различные символы, не найденные на регулярной клавиатуре, могут быть введены в документы при использовании символьных кодов определенными способами. Я обсуждаю некоторых из них на другой странице так же как использовании Карты Символа Windows.


<< Первая страница ©2002-2008 Виктора Лори Первая страница >>
Вилка КПП 2108 зад хода АВТОВАЗ . подтяжка ягодиц. . туры в будапешт от компании Поехали с нами. . Любой iphone 4 в наличие в Москве, продам iphone 4. . игры для xbox 360