У дома многогодишни цветя Декодиране на знаци на руски език. Какво е ANSI кодиране и с какво се яде? Неправилно показване на символи

Декодиране на знаци на руски език. Какво е ANSI кодиране и с какво се яде? Неправилно показване на символи

Кодирането на сайта (Encoding) е съответствие на серия от числа на знаци (цифри, букви, знаци и други специални знаци). Най-често срещаните кодировки са ASCII заедно с Unicode UTF-8 и Windows-1251. В съдържанието специален мета таг е отговорен за кодирането: , който задава специфичен тип код за страници. В този случай това е UTF-8 unicode.

С прости думи това са стандартни знаци и цифри, които съответстват на определен тип набор от писмени букви, цифри, знаци и други елементи. Най-често един сайт използва един тип кодиране, но има изключения, когато могат да бъдат зададени няколко кодировки наведнъж. Това обаче може да доведе до неправилно показване на целия уеб ресурс. Много сайтове използват стандарта за кодиране - UTF-8, тъй като този тип код се поддържа от много добре познати браузъри, търсачки, сървъри и други платформи. Много често има ситуации, когато кодирането, посочено на уебсайта, не съвпада с това, което е зададено на сървъра. Основната причина за това явление е, че доставчикът не поддържа предоставения тип кодиране, в резултат на което изпраща „свои“, което всъщност води до неправилно показване на информация. Кодирането е таблица, която описва всяко съответствие между конкретен знак и число. Всеки знак, който се вижда на сайта, представлява само набор от битове за компютър (набор от нули и други единици).

Видове кодиране на сайтове

Като цяло има няколко вида кодиране в света на Интернет:

  • ASCII е първото кодиране, прието от Американския национален институт по световни стандарти. За кодиране са използвани само 7 бита, където за първи път са поставени 128 стойности в английската азбука, както и всички числа, знаци и символи. Това кодиране не е универсално и най-често се използва на англоезични сайтове.
  • Кирилицата е наистина домашен вариант. Кодирането използва втората част от основната кодова таблица, или по-скоро знаци от 129 до 256. Използва се в рускоезични сайтове и блогове.
  • Кодировки 1250-1258 (системи MS Windows и Windows) са стандартни 8-битови кодировки, които се появиха веднага след пускането на добре познатата операционна система Microsoft Windows. Числата от 1250 до 1258 са насочени към езика, използван от кодирането. 1250 са езиците на Централна Европа, а 1251 са за кирилицата.
  • KOI8 - означава 8-битов код за обмен на информация. Обикновено руските стандарти на кирилица се използват в Unix системи и други подобни, където се прилагат стандартите KOI-7, KOI8-R и KOI8-U.
  • Unicode (оригинално име Unicode) е добре познат стандарт за кодиране на знаци, който ви позволява да опишете знаците буквално на всички световни езици. Често се обозначава като "U+xxxx", където "xxxx" са шестнадесетични стойности. Най-често срещаното семейство от това кодиране е UTF (Unicode-Transformation Format), тоест UTF-8, 16 и 32.

Всеки отделен изглед може да се използва директно на всеки сайт.

Универсални и популярни кодировки

Към днешна дата кодирането UTF-8 се счита за най-популярното и добре познато и благодарение на него е възможно да се осигури максимална съвместимост с всички стари системи, използващи обичайните 8-битови типове знаци. Кодирането UTF-8 включва повечето сайтове, които са в Интернет, и този стандарт се счита за универсален. UTF-8 поддържа както кирилица, така и латиница.

Здравейте, скъпи читатели на сайта на блога. Днес ще говорим с вас за това откъде идват кракозябрите на сайта и в програмите, какви текстови кодировки съществуват и кои трябва да се използват. Нека разгледаме по-отблизо историята на тяхното развитие, започвайки от основния ASCII, както и неговите разширени версии CP866, KOI8-R, Windows 1251 и завършвайки със съвременните кодировки на Unicode Consortium UTF 16 и 8.

За някои тази информация може да изглежда излишна, но ще знаете колко въпроса получавам конкретно по отношение на изпълзените кракозябри (нечетлив набор от знаци). Сега ще имам възможността да препратя всички към текста на тази статия и самостоятелно да потърся моите коси. Е, пригответе се да усвоите информацията и се опитайте да проследите хода на историята.

ASCII - основно кодиране на текст за латиница

Развитието на текстовите кодировки се случи едновременно с формирането на ИТ индустрията и през това време те успяха да претърпят доста промени. Исторически всичко започна с EBCDIC, който беше доста дисонансен в руското произношение, което направи възможно кодирането на букви от латинската азбука, арабски цифри и препинателни знаци с контролни знаци.

Но все пак отправната точка за разработването на съвременни текстови кодировки трябва да се счита за известните ASCII(Американски стандартен код за обмен на информация, който на руски обикновено се произнася като „аски“). Той описва първите 128 знака, най-често използвани от английските потребители - , арабски цифри и препинателни знаци.

Дори в тези 128 знака, описани в ASCII, имаше някои служебни знаци като скоби, ленти, звездички и т.н. Всъщност можете да ги видите сами:

Именно тези 128 знака от оригиналната версия на ASCII са станали стандарт и при всяко друго кодиране определено ще ги срещнете и те ще стоят в този ред.

Но факт е, че с помощта на един байт информация е възможно да се кодират не 128, а цели 256 различни стойности​​(две на степен на осем са равни на 256), така че след основната версия на Аска, цяла серия от разширени ASCII кодировки, в който освен 128 основни знака беше възможно да се кодират и символи на националното кодиране (например руски).

Тук вероятно си струва да се каже малко повече за числовите системи, които се използват в описанието. Първо, както всички знаете, компютърът работи само с числа в двоична система, а именно с нули и единици („Булева алгебра“, ако някой е учил в институт или в училище). , всеки от които е две в степен, започвайки от нула и до две в седмия:

Не е трудно да се разбере, че от всички възможни комбинации от нули и единици в такава конструкция може да има само 256. Преобразуването на число от двоично в десетично е доста просто. Просто трябва да съберете всички степени на две, над които има единици.

В нашия пример това е 1 (2 на степен нула) плюс 8 (две на степен 3), плюс 32 (две на пета), плюс 64 (на шеста), плюс 128 (на седма) . Общо получава 233 в десетичен запис. Както можете да видите, всичко е много просто.

Но ако погледнете по-отблизо таблицата с ASCII знаци, ще видите, че те са представени в шестнадесетично кодиране. Например, "звездичка" съответства в Asci на шестнадесетичното число 2A. Вероятно знаете, че в допълнение към арабските цифри, шестнадесетичната бройна система използва и латински букви от A (което означава десет) до F (което означава петнадесет).

Е, за преобразуване на двоичен в шестнадесетиченприбягвайте до следния прост и нагледен метод. Всеки байт информация е разделен на две части от четири бита, както е показано на горната екранна снимка. Че. във всеки половин байт само шестнадесет стойности могат да бъдат кодирани в двоичен код (от две до четвърта степен), който може лесно да бъде представен като шестнадесетично число.

Освен това в лявата половина на байта ще е необходимо отново да се преброят градусите, като се започне от нула, а не както е показано на екрана. В резултат на това чрез прости изчисления получаваме, че числото E9 е кодирано на екранната снимка. Надявам се ходът на моите разсъждения и решението на този пъзел да са ви ясни. Е, сега нека продължим всъщност да говорим за кодирането на текст.

Разширени версии на Asuka - CP866 и KOI8-R кодиране с псевдографика

И така, започнахме да говорим за ASCII, който беше като че ли отправната точка за разработването на всички съвременни кодировки (Windows 1251, Unicode, UTF 8).

Първоначално той съдържаше само 128 знака от латинската азбука, арабски цифри и нещо друго, но в разширената версия стана възможно да се използват всички 256 стойности, които могат да бъдат кодирани в един байт информация. Тези. стана възможно да добавяте знаци от буквите на вашия език към Asci.

Тук ще е необходимо да се отклоним още веднъж, за да обясним - Защо изобщо се нуждаете от кодиране?текстове и защо е толкова важно. Знаците на екрана на вашия компютър се формират въз основа на две неща - набори от векторни форми (представяния) на всички видове знаци (те са в co файлове) и код, който ви позволява да извадите от този набор от векторни форми ( font file) точно символът, който трябва да вмъкнете на правилното място.

Ясно е, че шрифтовете са отговорни за самите векторни форми, но операционната система и програмите, използвани в нея, отговарят за кодирането. Тези. всеки текст на вашия компютър ще бъде набор от байтове, всеки от които кодира един единствен знак от този текст.

Програмата, която извежда този текст на екрана (текстов редактор, браузър и т.н.), когато анализира кода, чете кодирането на следващия знак и търси съответната векторна форма в желания файл с шрифт, който е свързан за показване на този текст документ. Всичко е просто и банално.

Това означава, че за да кодираме всеки символ, от който се нуждаем (например от националната азбука), трябва да бъдат изпълнени две условия - векторната форма на този знак трябва да бъде в използвания шрифт и този знак може да бъде кодиран в разширени ASCII кодировки в един байт. Следователно има цял куп такива опции. Само за кодиране на символи на руския език има няколко разновидности на разширената Aska.

Например, първоначално имаше CP866, в който беше възможно да се използват знаците на руската азбука и беше разширена версия на ASCII.

Тези. горната му част напълно съвпада с основната версия на Asuka (128 латински символа, цифри и други глупости), която е показана на екранната снимка малко по-горе, но долната част на таблицата с CP866 кодиране имаше формата, показана на екранната снимка точно по-долу и е разрешено да кодира още 128 знака (руски букви и всякакви псевдографии там):

Виждате, че в дясната колона числата започват с 8, т.к числата от 0 до 7 се отнасят до основната част на ASCII (вижте първата екранна снимка). Че. руската буква "M" в CP866 ще има код 9C (намира се в пресечната точка на съответния ред с 9 и колоната с числото C в шестнадесетичната бройна система), който може да бъде записан в един байт информация, и ако има подходящ шрифт с руски символи, тази буква без проблеми ще се покаже в текста.

Откъде дойде тази сума? псевдографика в CP866? Работата е там, че това кодиране за руски текст е разработено още в онези космати години, когато нямаше такова разпространение на графични операционни системи, както е сега. И в Dosa и подобни текстови операционни системи, псевдо-графиката направи възможно по някакъв начин да разнообрази дизайна на текстовете и затова изобилства от CP866 и всички други негови колеги от категорията на разширените версии на Asuka.

CP866 беше разпространен от IBM, но в допълнение към това бяха разработени редица кодировки за руски символи, например може да се припише същия тип (разширен ASCII) KOI8-R:

Принципът на неговата работа остава същият като този на CP866, описан малко по-рано - всеки знак от текста е кодиран от един единствен байт. Екранната снимка показва втората половина на таблицата KOI8-R, т.к първата половина напълно съответства на основната Asuka, която е показана на първата екранна снимка в тази статия.

Сред характеристиките на кодирането KOI8-R може да се отбележи, че руските букви в неговата таблица не са в азбучен ред, както например беше направено в CP866.

Ако погледнете първата екранна снимка (на основната част, която е включена във всички разширени кодировки), ще забележите, че в KOI8-R руските букви са разположени в същите клетки на таблицата като буквите на съгласната на латинската азбука с тях от първата част на масата. Това беше направено за удобство при превключване от руски на латински знаци, като се изхвърли само един бит (два на седма степен или 128).

Windows 1251 - съвременната версия на ASCII и защо krakozyabry изпълзяват

По-нататъшното развитие на текстовото кодиране се дължи на факта, че графичните операционни системи набират популярност и необходимостта от използване на псевдографика в тях изчезна с времето. В резултат на това се появи цяла група, която по същество все още бяха разширени версии на Asuka (един текстов символ е кодиран само с един байт информация), но без използването на псевдографски знаци.

Те принадлежаха към така наречените ANSI кодировки, които са разработени от Американския институт по стандарти. На обикновен език името кирилица е използвано и за варианта с поддръжка на руски език. Пример за това може да послужи.

Той се сравнява благоприятно с използваните по-рано CP866 и KOI8-R, тъй като мястото на псевдографските символи в него е заето от липсващите символи на руската типография (освен знака за ударение), както и символи, използвани в славянски езици, близки до Руски (украински, беларуски и др.). ):

Поради такова изобилие от кодиране на руски език, производителите на шрифтове и производителите на софтуер постоянно имаха главоболие и ние, скъпи читатели, често получавахме много прословутите кракозябрикогато е имало объркване с версията, използвана в текста.

Много често те излизаха при изпращане и получаване на съобщения по електронна поща, което доведе до създаването на много сложни таблици за преобразуване, които всъщност не можеха да решат този проблем в основата и често потребителите използваха за кореспонденция, за да избегнат прословутото krakozyabrs при използване на руски кодировки като CP866, KOI8-R или Windows 1251.

Всъщност кракозябрият, който се появи вместо руския текст, е резултат от неправилното използване на кодирането на този език, което не съответства на този, на който първоначално е кодирано текстовото съобщение.

Например, ако се опитате да покажете символите, кодирани с помощта на CP866, като използвате кодовата таблица на Windows 1251, тогава същите тези кракозябри (безсмислен набор от знаци) ще излязат, като напълно заменят текста на съобщението.

Подобна ситуация много често се случва с форуми или блогове, когато текст с руски символи погрешно се записва в грешно кодиране, което се използва на сайта по подразбиране, или в грешен текстов редактор, който добавя гав към кода, който не се вижда от невъоръжено око.

В крайна сметка много хора се умориха от такава ситуация с много кодировки и постоянно излизащи кракозябри, имаше предпоставки за създаване на нова универсална вариация, която да замени всички съществуващи и най-накрая ще реши проблема с появата на нечетливи текстове . Освен това имаше проблем с езици като китайския, където знаците на езика бяха много повече от 256.

Unicode (Unicode) - универсални кодировки UTF 8, 16 и 32

Тези хиляди знаци от езиковата група от Югоизточна Азия не могат да бъдат описани по никакъв начин в един байт информация, който беше разпределен за кодиране на знаци в разширени версии на ASCII. В резултат на това се обади консорциум Unicode(Unicode - Unicode Consortium) със сътрудничеството на много лидери в ИТ индустрията (тези, които произвеждат софтуер, които кодират хардуер, които създават шрифтове), които се интересуваха от появата на универсално кодиране на текст.

Първата вариация, пусната под егидата на Unicode Consortium, беше UTF-32. Числото в името на кодирането означава броя битове, които се използват за кодиране на един знак. 32 бита са 4 байта информация, която ще е необходима за кодиране на един единствен знак в новия универсален кодиращ UTF.

В резултат на това един и същи файл с текст, кодиран в разширената версия на ASCII и в UTF-32, в последния случай ще има четири пъти по-голям размер (тегло). Това е лошо, но сега имаме възможност да кодираме с помощта на UTF броя знаци, равен на два на степен от тридесет и втора ( милиарди знаци, което ще покрие всяка наистина необходима стойност с огромен марж).

Но много страни с езици от европейската група изобщо не е трябвало да използват толкова огромен брой знаци в кодирането, но когато използват UTF-32, те ще получат четирикратно увеличение на теглото на текстовите документи за нищо и в резултат на това увеличаване на обема на интернет трафика и обема на съхраняваните данни. Това е много и никой не би могъл да си позволи такива отпадъци.

В резултат на развитието на Unicode, UTF-16, което се оказа толкова успешно, че беше прието като основно пространство по подразбиране за всички символи, които използваме. Той използва два байта за кодиране на един знак. Да видим как изглежда това нещо.

В операционната система Windows можете да преминете по пътя "Старт" - "Програми" - "Аксесоари" - "Помощни програми" - "Таблица със символи". В резултат на това ще се отвори таблица с векторни форми на всички шрифтове, инсталирани във вашата система. Ако изберете набора от символи Unicode в "Разширени опции", можете да видите за всеки шрифт поотделно целия набор от знаци, включени в него.

Между другото, като щракнете върху някой от тях, можете да видите неговия двубайт код във формат UTF-16, състоящ се от четири шестнадесетични цифри:

Колко знака могат да бъдат кодирани в UTF-16 с помощта на 16 бита? 65536 (две на степен шестнадесет) и именно това число беше прието като основно пространство в Unicode. Освен това има начини да се кодират с него около два милиона знака, но ограничени до разширено пространство от милион знака текст.

Но дори тази успешна версия на кодирането на Unicode не донесе много удовлетворение на тези, които са писали, да речем, програми само на английски, тъй като след прехода от разширената версия на ASCII към UTF-16 теглото на документите се удвои (един байт на един знак в Asci и два байта за същия знак в UTF-16).

Това е всичко за удовлетворение на всички и всичко в консорциума Unicode, беше решено да се измисли кодиране с променлива дължина. Нарича се UTF-8. Въпреки осмицата в името, тя наистина има променлива дължина, т.е. всеки текстов символ може да бъде кодиран в последователност от един до шест байта.

На практика в UTF-8 се използва само диапазонът от един до четири байта, тъй като зад четири байта код дори теоретично не е възможно да си представим нищо. Всички латински символи в него са кодирани в един байт, точно както в добрия стар ASCII.

Забележително е, че в случай на кодиране само на латински, дори тези програми, които не разбират Unicode, пак ще четат това, което е кодирано в UTF-8. Тези. основната част на Asuka просто премина в това въображение на Unicode Consortium.

Кириличните знаци в UTF-8 са кодирани в два байта, а например грузинските знаци в три байта. Unicode Consortium, след като създаде UTF 16 и 8, реши основния проблем - сега имаме шрифтовете имат едно кодово пространство. И сега техните производители могат да го запълват само с векторни форми на текстови знаци въз основа на техните силни страни и възможности. Вече дори и в комплекти.

В „Таблица със знаци“ по-горе можете да видите, че различните шрифтове поддържат различен брой знаци. Някои шрифтове, богати на Unicode, могат да бъдат много големи. Но сега те се различават не по това, че са създадени за различни кодировки, а във факта, че производителят на шрифта е запълнил или не запълни единичното кодово пространство с една или друга векторна форма до края.

Krakozyabry вместо руски букви - как да поправя

Нека сега да видим как се появяват кракозябри вместо текст или, с други думи, как се избира правилното кодиране за руски текст. Всъщност той се задава в програмата, в която създавате или редактирате същия този текст или код, използвайки текстови фрагменти.

За редактиране и създаване на текстови файлове, аз лично използвам много добър, според мен, . Въпреки това, той може да подчертае синтаксиса на още стотици програмни и маркиращи езици, а също така има възможността да бъде разширен с помощта на плъгини. Прочетете подробен преглед на тази прекрасна програма на линка по-долу.

В горното меню на Notepad ++ има елемент "Кодировки", където ще имате възможност да конвертирате съществуваща опция в тази, използвана на вашия сайт по подразбиране:

В случай на сайт на Joomla 1.5 и по-нова версия, както и в случай на блог на WordPress, за да избегнете появата на бъгове, изберете опцията UTF8 без спецификация. Какво представлява префиксът BOM?

Факт е, че когато разработиха кодирането UTF-16, по някаква причина решиха да прикачат към него такова нещо като възможността за писане на символен код, както в директна последователност (например 0A15), така и в обратна посока (150A) . И за да могат програмите да разберат в каква последователност да четат кодовете, беше измислено BOM(Byte Order Mark или, с други думи, подпис), което се изразява в добавянето на три допълнителни байта към самото начало на документите.

При UTF-8 кодиране не е предвидена спецификация в консорциума на Unicode и следователно добавянето на подпис (тези най-известни допълнителни три байта в началото на документа) просто предотвратява някои програми да четат кода. Следователно, когато записваме файлове в UTF, винаги трябва да избираме опцията без спецификация (без подпис). Така че напредвате предпазете се от пълзене krakozyabry.

Забележително е, че някои програми в Windows не знаят как да направят това (те не могат да записват текст в UTF-8 без BOM), например същият прословут Windows Notepad. Той записва документа в UTF-8, но все пак добавя подписа (три допълнителни байта) в началото на него. Освен това тези байтове винаги ще бъдат едни и същи - прочетете кода в директна последователност. Но на сървърите, поради това малко нещо, може да възникне проблем - krakozyabry ще излезе.

Следователно, в никакъв случай не използвайте обикновен бележник на Windowsза редактиране на документи на вашия сайт, ако не желаете появата на кракозябров. Смятам, че вече споменатият редактор Notepad ++ е най-добрият и прост вариант, който практически няма недостатъци и се състои само от предимства.

В Notepad++, когато изберете кодиране, ще имате възможност да конвертирате текст в UCS-2 кодиране, което по своята същност е много близко до стандарта Unicode. Също така в Notepad ще бъде възможно да се кодира текст в ANSI, т.е. по отношение на руския език това ще бъде Windows 1251, който вече описахме малко по-горе Откъде идва тази информация?

Записано е в регистъра на вашата операционна система Windows - кое кодиране да изберете в случай на ANSI, кое да изберете в случай на OEM (за руския език ще бъде CP866). Ако инсталирате друг език по подразбиране на вашия компютър, тогава тези кодировки ще бъдат заменени с подобни от категорията ANSI или OEM за същия език.

След като запишете документа в Notepad ++ в кодирането, от което се нуждаете, или отворите документа от сайта за редактиране, можете да видите името му в долния десен ъгъл на редактора:

За да се избегне krakozyabrov, в допълнение към описаните по-горе действия, ще бъде полезно да напишете информация за това кодиране в заглавката му на изходния код на всички страници на сайта, така че да няма объркване на сървъра или локалния хост.

По принцип във всички езици за маркиране на хипертекст, с изключение на Html, се използва специална xml декларация, която определя кодирането на текста.

Преди да анализира кода, браузърът знае коя версия се използва и как точно трябва да се интерпретират символните кодове на този език. Но което е забележително, ако запазите документа в Unicode по подразбиране, тогава тази xml декларация може да бъде пропусната (кодирането ще се счита за UTF-8, ако няма спецификация или UTF-16, ако има спецификация).

В случай на документ на Html език, кодирането се използва за уточняване Мета елемент, който се записва между отварящия и затварящия таг Head:

... ...

Този запис е доста различен от този в , но е напълно съвместим с новия стандарт Html 5, който бавно се въвежда, и ще бъде 100% правилно разбран от всички браузъри, които се използват в момента.

На теория би било по-добре да поставите мета елемента с Html кодиране на документа възможно най-високо в заглавката на документатака че по време на срещата в текста на първия символ не от основния ANSI (който винаги ще се чете правилно и във всяка вариация), браузърът вече трябва да има информация как да интерпретира кодовете на тези знаци.

Късмет! До скоро на сайта на блог страниците

Може да се интересувате

Какво е URL, каква е разликата между абсолютни и относителни връзки за един сайт
OpenServer - модерен локален сървър и пример за използването му за инсталиране на WordPress на компютър
Какво е Chmod, какви разрешения да зададете на файлове и папки (777, 755, 666) и как да го направя чрез PHP
Търсене в Yandex в сайта и онлайн магазина

По късно ASCIIбеше разширено (първоначално не използваше всички 8 бита), така че стана възможно да се използват не 128, а 256 (2 до 8) различни символа, които могат да бъдат кодирани в един байт информация.
Това подобрение направи възможно добавянето към кодирането ASCIIсимволи на национални езици на различни страни, в допълнение към вече съществуващата латиница.
Разширени опции за кодиране ASCIIима толкова много, защото има толкова много езици в света. Мисля, че много от вас са чували за такова кодиране като KOI8 (Код за обмен на информация, 8 бита) - това също е разширено кодиране ASCII. KOI8 включва цифри, букви от латинската и руската азбука, както и препинателни знаци, специални знаци и псевдографи.

ISO кодиране

Международната организация по стандартизация е създала набор от кодировки за различни скриптове/езици.

Кодиране от серия ISO 8859

Кодиране Описание
ISO 8859-1 (латиница-1) Разширена латиница, включително знаци от повечето западноевропейски езици (английски, датски, ирландски, исландски, испански, италиански, немски, норвежки, португалски, реторомански, фарьорски, шведски, шотландски (гаелски) и частично холандски, фински, френски), както и някои източноевропейски (албански) и африкански езици (африкаанс, суахили). На Latin-1 липсват знакът за еврото и главната буква Ÿ. Тази кодова страница се счита за кодиране по подразбиране за HTML документи и имейл съобщения. Тази кодова страница също съответства на първите 256 символа в Unicode.
ISO 8859-2 (латиница-2) Разширена латиница, включително знаци от централноевропейски и източноевропейски езици (босненски, унгарски, полски, словашки, словенски, хърватски, чешки). Latin-2, подобно на Latin-1, няма знака за евро.
ISO 8859-3 (Latin-3) Разширена латински, включително знаци от южноевропейски езици (малтийски, турски и есперанто).
ISO 8859-4 (латиница-4) Разширена латиница, включително знаци от северноевропейски езици (гренландски, естонски, латвийски, литовски и саамски езици).
ISO 8859-5 (латиница/кирилица) Кирилица, включително символи на славянски езици (белоруски, български, македонски, руски, сръбски и отчасти украински).
ISO 8859-6 (латински/арабски) Символи, използвани на арабски. Не се поддържат знаци от други базирани на арабски езици. Правилното показване на текста по ISO 8859-6 изисква поддръжка за двупосочно писане и контекстно-чувствителни знаци.
ISO 8859-7 (латински/гръцки) Символи на новогръцкия език. Може да се използва и за писане на древногръцки текстове в монотонна ортография.
ISO 8859-8 (латински/еврейски) Съвременни еврейски символи. Използва се в две версии: с логически ред на знаците (изисква двупосочна поддръжка) и с визуален ред на знаците.
ISO 8859-9 (латински-5) Вариант на Latin-1, който заменя рядко използвани исландски знаци с турски. Използва се за турски и кюрдски.
ISO 8859-10 (латиница-6) Latin-4 вариант, по-удобен за скандинавски езици.
ISO 8859-11 (латински/тайландски) Символи на тайландски език.
ISO 8859-13 (Latin-7) Latin-4 вариант, по-удобен за балтийски езици.
ISO 8859-14 (латиница-8) Разширен латински, за да включва знаци от келтски езици като шотландски (галски) и бретонски.
ISO 8859-15 (Latin-9) Вариант на Latin-1, който заменя рядко използвани знаци с тези, необходими за пълна поддръжка на финландски, френски и естонски. Освен това знакът за евро беше добавен към Latin-9.
ISO 8859-16 (латиница-10) Разширена латиница, включително знаци от Южна и Източна Европа (албански, унгарски, италиански, полски, румънски, словенски, хърватски), както и някои западноевропейски езици (ирландски в новата ортография, немски, фински, френски). Подобно на Latin-9, знакът за евро беше добавен към Latin-10.

За документи на английски и повечето други западноевропейски езици кодирането се поддържа широко ISO-8859-1.

В HTML ISO-8859-1е кодирането по подразбиране (в XHTML и в HTML5 кодирането по подразбиране е UTF-8).
Когато използвате кодиране на страница, различно от ISO-8859-1, трябва да посочите това в етикета .

За HTML4:

За HTML5:

Пример за ANSI кодиране е добре познатият Windows-1251.

Windows-1251се сравнява благоприятно с други 8-битови кодировки на кирилица (като CP866 и ISO 8859-5) поради наличието на почти всички знаци, използвани в руската типография за обикновен текст (липсва само ударението). Той също така съдържа всички знаци за други славянски езици: украински, беларуски, сръбски, македонски и български.
Следват десетичните стойности на кодиращите знаци Windows-1251.

За да покажете таблични знаци в HTML документ, използвайте следния синтаксис:

& + код + ;

Windows-1251 кодиране (CP1251)

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .° С .E .F

8.
Ђ
402
Ѓ
403

201А
ѓ
453

201E

2026

2020

2021

20AC

2030
Љ
409

2039
Њ
40А
Ќ
40С
Ћ
40B
Џ
40F

9.
ђ
452

2018

2019

201С

201D

2022

2013
-
2014

2122
љ
459

203А
њ
45А
ќ
45С
ћ
45Б
џ
45F

А.

A0
Ў
40E
ў
45E
Ј
408
¤
A4
Ґ
490
¦
A6
§
A7
Йо
401
©
A9
Є
404
«
АБ
¬
AC
­
АД
®
AE
Ї
407

б.
°
B0
±
B1
І
406
і
456
ґ
491
µ
B5

B6
·
B7
Йо
451

2116
є
454
»
BB
ј
458
Ѕ
405
ѕ
455
ї
457

° С.
НО
410
Б
411
IN
412
г
413
д
414
Е
415
Ф
416
У
417
И
418
Й
419
ДА СЕ
41А
Л
41Б
М
41С
Х
41D
ОТНОСНО
41E
П
41F

Д.
Р
420
ОТ
421
т
422
В
423
Ф
424
х
425
° С
426
Х
427
У
428
SCH
429
Комерсант
42А
С
42Б
б
42С
Е
42D
Ю
42E
аз
42F

Е.
но
430
б
431
в
432
г
433
д
434
д
435
добре
436
з
437
И
438
ти
439
да се
43А
л
43Б
м
43С
н
43D
относно
43E
П
43F

Ф.
Р
440
от
441
т
442
в
443
е
444
х
445
° С
446
з
447
ш
448
SCH
449
б
44А
с
44Б
б
44С
ъъъъ
44D
Ю
44E
аз
44F

UNICODE кодировки

Unicode (англ. Unicode) е стандарт за кодиране на знаци, който ви позволява да представяте знаците на почти всички скриптове в света, както и специални знаци. Символите, представени в Unicode, са кодирани като цели числа без знак. Unicode има няколко форми за представяне на знаци на компютър: UTF-8, UTF-16 (UTF-16BE, UTF-16LE) и UTF-32 (UTF-32BE, UTF-32LE). (английски формат за трансформация на Unicode - UTF).
UTF-8е често срещано кодиране, което намери широко приложение в операционните системи и уеб пространството. Текстът, състоящ се от Unicode символи, по-малки от 128 (кодова област U+0000 до U+007F), съдържа набор знаци ASCIIсъс съответните кодове. Следват области на знаци от различни скриптове, препинателни знаци и технически символи. Под знаци на кирилица се разпределят области на знаци с кодове от U + 0400 до U + 052F, от U + 2DE0 до U + 2DFF, от U + A640 до U + A69F.

Кодиране UTF-8е универсален и има впечатляващ резерв за бъдещето. Това го прави най-удобното кодиране за използване в мрежата.

Преди да отговорим на въпроса какво представлява кодирането на ANSI Windows, нека първо да отговорим на друг въпрос: "Какво е кодирането по принцип?"

Всеки компютър, всяка система използва определен набор от знаци, в зависимост от езика, използван от потребителя, от неговите професионални компетенции и лични предпочитания.

Обща дефиниция за кодиране

И така, на руски език се използват 33 знака за обозначаване на букви, на английски - 26. Също така, 10 числа се използват за броене (0; 1; 2; 3; 4; 5; 6; 7; 8; 9) и някои специални знаци, минус, интервал, точка, процент и т.н.

На всеки от тези знаци се присвоява сериен номер с помощта на кодовата таблица. Например на буквата "А" може да бъде присвоен номер 1; "Z" - 26 и така нататък.

Всъщност число, представляващо символ като цяло число, се счита за символен код, а кодирането е съответно набор от знаци в такава таблица.

Богатството на разнообразието от кодови таблици

В момента има доста голям брой кодировки и кодови таблици, използвани от различни специалисти: това е ASCII, разработен през 1963 г. в Америка, и Windows-1251, който наскоро беше популярен благодарение на Microsoft, KOI8-R и Guobiao - и много, много други и процесът на тяхната поява и смърт продължава и до днес.

Сред този огромен списък особено се откроява така нареченото ANSI кодиране.

Факт е, че по едно време Microsoft създаде цял набор от кодови страници:

Всички те са получили общото име на ANSI кодиращата таблица или ANSI кодовата страница.

Интересен факт: една от първите кодови таблици е ASCII, създадена през 1963 г. от Американския национален институт по стандартизация (American National Standards Institute), съкратено като ANSI.

Наред с други неща, това кодиране съдържа и непечатаеми знаци, така наречените "Escape Sequences" или ESC, уникални за всички таблици със знаци, често несъвместими един с друг. С умело използване обаче те ви позволиха да скриете и възстановите курсора, да го преместите от една позиция в текста в друга, да зададете раздели, да изтриете част от прозореца на терминала, в който сте работили, да промените форматирането на текста на екрана и променяйте цвета си (или дори рисувайте и сервирайте звукови сигнали!). През 1976 г., между другото, това беше доста добра помощ за програмистите. Между другото, терминалът е устройство, необходимо за въвеждане и извеждане на информация. В онези далечни времена това беше монитор и клавиатура, свързани с компютър (електронен компютър).

Неправилно показване на символи

За съжаление, в бъдеще подобна система доведе до множество сривове в системите, показвайки така наречените кракозябри вместо желаните стихотворения, новинарски емисии или описания на любимите ви компютърни игри. - безсмислени, нечетими набори от знаци. Появата на тези повсеместни грешки е причинена само от опит за показване на знаци, кодирани в една кодираща таблица, с помощта на друга.

Най-често все още се сблъскваме с последствията от неправилно четене на това кодиране в Интернет, когато нашият браузър по някаква причина не може точно да определи коя от кодировките на Windows-**** се използва в момента, поради индикацията на уеб - общият съветник за ANSI кодиране или първоначално неправилно кодиране, например, 1252 вместо 1521. По-долу е точната таблица за кодиране.

Таблица за кодиране на кирилица ANSI, Windows-1251

Освен това през 1986 г. ANSI беше значително разширен, благодарение на Ian E. Davies, който написа пакета The Draw, който позволява не само да се използват основни, от наша гледна точка, функции, но и да се рисува напълно (или почти напълно) !

Обобщаване

По този начин може да се види, че ANSI кодирането всъщност, въпреки че беше доста противоречиво решение, запазва позицията си.

С течение на времето, с леката ръка на ентусиастите, древният ANSI терминал дори мигрира към телефоните!

Ново на сайта

>

Най - известен