Символно кодиране: Разлика между версии
Изтрито е съдържание Добавено е съдържание
м http(s) линк- в [] скоби |
Vodnokon4e (беседа | приноси) без болд |
||
Ред 20:
== Кодова единица ==
[[Файл:KB Dubeolsik for Old Hangul (Microsoft).svg|мини|422x422px|[[Символен тип|Символ]] / знак]]
*
*
Пример: ''Латинският набор от символи'' се използва от ''английския език'' и повечето ''европейски езици'', въпреки че ''гръцкият набор от символи'' се използва само от ''гръцкия език''.
*
*
Други символи като музикалните ноти например, също са включени в символния репертоар. И двата формата – [[Unicode]] и [[GB18030]] имат символен репертоар. Когато нови символи са добавени към един формат, друг формат ги добавя също, с цел да се поддържа подобие на първия.
Ред 43:
* Кодова единица в [[UTF-32]] формата се състои от 32 бита.
За да изразите символ (знак) в Unicode, за шестнадесетичната стойност се добавя е началото представка на низа U +. Валидният обхват на кодовата точка за формата Unicode варира от U + 0000 до U + 10FFFF, включително.
Ред 55:
|
|
|
|-
Ред 98:
|}
Кодовата точка е символ (знак) и се представя с една или повече кодови единици в зависимост от формата на кодирането.
Ред 105:
Броят на кодови единици изисква да бъде съпоставен на кодова точка в зависимост от формата на кодиране:
*
Множеството кодови единици на една кодова точка са често срещани в UTF-8, поради по-малките размери на кодовите единици. Кодовите точки ще бъдат представени с една, две, три, или четири кодови единици.
*
UTF-16 кодовите единици са два пъти по-големи от 8-битовите кодови единици. Ето защо, всички кодови точки със скаларна стойност по-малка от 10 000 U + е кодирана с единична кодова единица.
За кодовите точки със скаларна стойност U + 10 000 или по-висока, са необходими две кодови единици за една кодова точка. За тези двойки кодови единици съществува уникален термин в UTF-16: [[Unicode сурогатни двойки]].
*
32-битовата кодова единица, използвана в UTF-32 е достатъчно голяма, за да позволява на всяка кодова точка да се кодира като единична кодова единица.
*
Множество кодови единици на една кодова точка са често срещани в GB18030, поради по-малките кодови единици. Кодовите точки ще бъдат съпоставени с една, две или четири кодови единици.
<references group="http://docs.oracle.com/javase/tutorial/i18n/text/terminology.html" />
== Уникод кодиращ модел ==
''Символното съдържание'' е пълният набор от абстрактни символи, които една система поддържа. Съдържанието може да бъде затворено, т.е. не са позволени допълнения без създаване на нови стандарти (както е направена [[ASCII]] таблицата), или да бъде отворено, позволявайки допълнения. Символите в дадено съдържание отразяват решенията как да се разделят системите за писане на основни информационни единици. Основните варианти на латински, гръцки и кирилица могат да бъдат разделени на букви, цифри, пунктуационни знаци и няколко специфични символи като празно място, които могат да бъдат подредени в прости линейни последователности, които се показват в реда, в който се четат. Дори с тези азбуки, диакритични знаци представляват усложнение: те могат да се разглеждат или като част от отделен символ, който съдържа буква и диакритичен символ, или като отделни символи. Основният позволява много по-проста текстова обработка, а последният позволява да бъде използвана буквена/ диакритична комбинация. Лигатурите създават същите проблеми. Други системи за писане като арабската азбука или иврит са представени като по сложни символни съдържания, поради необходимостта да се акомодират неща като двупосочен текст и знаци, които са свързани по между си по различни начини.
Ред 143:
Един символен модел, няколко кодирания. Много стандарти в символните кодирания, като тези в ISO 8859 сериите използват един бит за даден символ и кодирането се извършват директно, тоест позицията на символа отговаря на кодирания символ. За пример буквата А в ISO 8859 – 1 кодиран символен модел е 65-та подред (започващ от 0) и кодирана е представена на компютъра като байт използващ стойността 65. За ISO 8859 – 1 това не се променя.
За Уникод обаче нещата не са директни. Всъщност кодовата точка за буквата à в модела Уникод е винаги 225 (в десетична бройна система), в UTF-8 буквата е представена в компютъра в два бита. В допълнение в Уникод има различни на брой начини за кодиране на един и същ символ. За пример буквата à може да бъде представена като 2 бита в едно кодиране и като 4 байта в друго. Кодиращите форми, които могат да се използват в Уникод, са UTF-8, UTF-16 и UTF-32.
== Превод на кодирането ==
Като резултат от многото
=== Междуплатформени програми ===
Line 179 ⟶ 177:
* [http://www.w3.org/International/articles/definitions-characters/]
* [http://www.joelonsoftware.com/articles/Unicode.html www.joelonsoftware.com]
* [http://www.w3.org/International/articles/definitions-characters/
* [http://www.sitepoint.com/guide-web-character-encoding/ The Definitive Guide to Web Character Encoding]
* [http://betterexplained.com/articles/understanding-big-and-little-endian-byte-order/ Understanding Big and Little Endian Byte Order]
|