Изменения

Перейти к: навигация, поиск

Представление символов, таблицы кодировок

12 байт добавлено, 22:29, 28 октября 2011
Нет описания правки
Затем на ее базе была разработана ASCII8, в которым уже стало возможным хранение 256 символов: 128 основных и еще столько же расширенных. Первая часть таблицы осталась без изменений, а вторая может иметь различные варианты (каждый имеет свой номер). Эта часть таблицы стала заполняться символами национальных алфавитов.
{{Определение|definition=ASCII - таблицы кодировок, в которых содержатся основные символы (английский алфавит, цифры, знаки препинания, символы национальных алфавитов(свои для каждого региона), служебные символы) и длина кода каждого символа <tex>n = 8</tex> бит.}}
Но для многих языков (например, арабского, японского, китайского) 256 символов недостаточно, поэтому развитие кодировок продолжалось, что привело к появлению UNICODE.
{{Определение|definition=UNICODE - таблицы кодировок, в которых содержатся все используемые символы и длина кода каждого символа <tex>n \geq 8</tex> бит.}}
== Наиболее известные кодировки ==
===Кодировки стандарта ASCII===
{{Определение
|definition=ASCII - таблицы кодировок, в которых содержатся основные символы (английский алфавит, цифры, знаки препинания, символы национальных алфавитов(свои для каждого региона), служебные символы) и длина кода каждого символа <tex>n = 8</tex> бит.
}}
''7 бит:''
* '''Windows-1251''' - русская кодировка, использовавшаяся в русскоязычных версиях операционной системы Windows в начале 90-х годов. Кириллические символы идут в алфавитном порядке. Содержит все символы, встречающиеся в типографике обычного текста (кроме знака ударения).[http://ru.wikipedia.org/wiki/CP1251]
===Кодировки стандарта UNICODE===
{{Определение
|definition=UNICODE - таблицы кодировок, в которых содержатся все используемые символы и длина кода каждого символа <tex>n \geq 8</tex> бит.
}}
* '''UTF8''' - самая распространенная на данный момент кодировка из семейства UNICODE. [http://ru.wikipedia.org/wiki/UTF-8]
{|class="standardwikitable"
!Unicode||UTF-8||Представленные символы
|-
Также возможны коды длиной в 5 и 6 байт, но на практике они не используются. Это связано с тем, что в стандарт Unicode не входят символы с кодом выше <code>0x10ffff</code>.
====BOM====
'''Byte Order Mark (BOM)(''метка порядка байтов'')''' - Unicode символ, используемый для индикации порядка байтов текстового файла. Его кодовый символ U+FEFF (ZERO WIDTH NON-BREAKING SPACE)''неразрывный пробел с нулевой шириной'', также именуемый . По спецификации его использование не является обязательным, однако если BOM используется, то он должен быть установлен вначале текстового файла. Помимо своего конкретного использования в качестве указателя порядка байтов, символ может также указать какой кодировкой Unicode закодирован текст.
[[Файл:Bom.png|thumb|leftright| 400px]]В кодировке UTF-8, наличие BOM не является существенным, поскольку, нет альтернативной последовательности байтов. Когда BOM используется на страницах или редакторах для контента закодированного в UTF-8, иногда он может представить пробелы или короткие последовательности символов, имеющие странный вид (такие как ). Именно поэтому, при наличии выбора, для совместимости, как правило, лучше упустить BOM в UTF-8 контенте.Однако BOM могут еще встречаться в тексте закодированном в UTF-8, как побочный продукт перекодирования или потому, что он был добавлен редактором. В этом случае BOM часто называют подписью UTF-8.
Когда символ закодирован в UTF-16, его 2 или 4 байта можно упорядочить двумя разными способами (little-endian или big-endian). Изображение слева показывает это.Byte order mark указывает, какой порядок используется, так что приложения могут немедленно расшифровать контент. UTF-16 контент должен всегда начинатся с BOM.
BOM также используется для текста обозначенного как UTF-32. Аналогично UTF-16 существует два варианта четырёхбайтной кодировки — UTF-32BE и UTF-32LE.К сожалению, этот способ не позволяет надёжно различать UTF-16LE и UTF-32LE, поскольку символ U+0000 допускается Юникодом
=== Представление BOM в кодировках ===
{| class="wikitable"
|+'''Представление BOM в кодировках'''
|-
! Кодирование
|-
|}
В кодировке UTF-8, наличие BOM не является существенным, поскольку, нет альтернативной последовательности байтов. Когда BOM используется на страницах или редакторах для контента закодированного в UTF-8, иногда он может представить пробелы или короткие последовательности символов, имеющие странный вид (такие как ). Именно поэтому, при наличии выбора, для совместимости, как правило, лучше упустить BOM в UTF-8 контенте.Однако BOM могут еще встречаться в тексте закодированном в UTF-8, как побочный продукт перекодирования или потому, что он был добавлен редактором. В этом случае BOM часто называют подписью UTF-8.
 
Когда символ закодирован в UTF-16, его 2 или 4 байта можно упорядочить двумя разными способами (little-endian или big-endian). Изображение справа показывает это.Byte order mark указывает, какой порядок используется, так что приложения могут немедленно расшифровать контент. UTF-16 контент должен всегда начинатся с BOM.
 
BOM также используется для текста обозначенного как UTF-32. Аналогично UTF-16 существует два варианта четырёхбайтной кодировки — UTF-32BE и UTF-32LE.К сожалению, этот способ не позволяет надёжно различать UTF-16LE и UTF-32LE, поскольку символ U+0000 допускается Юникодом
 
 
== Ссылки ==
Анонимный участник

Навигация