UTF-8 кодирање на глобалната дигитална комуникација - IONOS
Секој што чита веб-страница на англиски јазик или јапонска електронска пошта не само што може да зборува на овие јазици, туку е и најверојатно сведок на триумфалното напредување UTF-8. „UTF-8“ е кратенка за „8-битен формат на трансформација UCS " и се залага за најраспространето кодирање на ликовите на Светската мрежа. Меѓународниот стандард Уникод ги бележи сите јазични карактери и елементи на текст во (скоро) сите јазици во светот за ИТ обработка. UTF-8 игра голема улога во сетот на карактери Уникод.

- Еволуцијата на кодирање UTF-8
- Проблеми пред да се воведе UTF-8
- Создавање на UTF-8
- UTF-8 во сетот на знаци Уникод: стандард за сите јазици
- Алтернативите: UTF-32 и UTF-16
- Ефикасно и скалабилно: UTF-8
- Основи: Кодирање и составување на UTF-8
- Конверзија на хексадецимален Unicode во бинарен UTF-8
- UTF-8 во уредникот
- Заклучок: Кодирањето UTF-8 ја подобрува меѓународната комуникација
Еволуцијата на кодирање UTF-8
UTF-8 е кодирање на карактер. Тој доделува точно одредена низа на битови на секој постоечки знак на Уникод, кој исто така може да се чита како бинарен број. Тоа значи: UTF-8 доделува фиксен, бинарен број на сите букви, броеви и симболи на сè поголем број јазици. Меѓународните организации за кои се важни стандардите на Интернет и кои тие соодветно сакаат да ги воспостават, работат на тоа UTF-8 да биде неоспорна сила во кодирањето. Меѓу другото што W3C како и Работна група за инженерство преку Интернет застанете за тоа. Всушност, веќе во 2009 година, повеќето веб-страници во светот користеа кодирање UTF-8. Во март 2018 година, според извештајот на W3Techs, 90,9 проценти од сите постојни веб-страници го користеле ова шифрирање на карактерот.
Проблеми пред да се воведе UTF-8
Различни региони со сродни јазици и системи за пишување имаат по свои сопствени стандарди за кодирање развиени затоа што имале различни потреби. На пример, во земјите што зборуваат англиски, кодирањето ASCII беше доволно, чија структура овозможува 128 карактери да бидат доделени на низа карактери што можат да се читаат од компјутер. Азиските фонтови или кирилицата, сепак, користат повеќе уникатни индивидуални знаци. Германските умлаути (како што е буквата) исто така недостасуваат во ASCII. Покрај тоа, задачите на различни кодирања може да се удвојат. Како резултат, на пример, документ напишан на руски јазик беше прикажан на американски компјутер користејќи латински букви доделени на овој систем наместо кирилични букви. Како резултат на ѓубриво ја отежнуваше меѓународната комуникација значителен.
Создавање на UTF-8
За да се реши овој проблем, Josephозеф Д. Бекер го разви универзалниот сет на карактери со Unicode за Xerox помеѓу 1988 и 1991 година. Од 1992 година постоеше и конзорциум за ИТ индустријата X/Отворено во потрага по систем што треба да го замени ASCII и да го прошири репертоарот на карактери. Како и да е, кодирањето треба да остане компатибилно со ASCII. Ова барање не беше исполнето со првото кодирање, наречено UCS-2, кое едноставно ги префрли броевите на знаците во 16-битни вредности. УТФ-1 исто така не успеа затоа што задачите на Уникод делумно се судрија со постојните доделувања на карактери ASCII. Сервер кој беше поставен на ASCII понекогаш излегува со неточни карактери. Ова беше значителен проблем бидејќи во тоа време мнозинството компјутери кои зборуваат англиски јазик работеа со него. Следниот потег беше во Безбеден формат на трансформација на UCS-систем на датотеки (FSS-UTF) од Дејв Просер, што го отстрани преклопувањето со ASCII карактери.
Во август истата година, нацртот ги обиколи професионалните кругови. Ко-основачите на Уникс работеа во лабораториите Бел, познати по бројните добитници на Нобелова награда Кен Томпсон и Роб Пајк на планот на оперативниот систем 9. Тие ја прифатија идејата на Просер, развија само-синхронизирачко кодирање (секој знак означува колку битови му се потребни) и утврдија правила за доделување на букви што може да се претстават поинаку во кодот (пример: " "Како посебен симбол или" a + ¨ "). Тие успешно го користеа кодирањето за нивниот оперативен систем и го презентираа пред одговорните. Со тоа, FSS-UTF, познат денес како „UTF-8“, во суштина беше комплетен.
UTF-8 е 8-битно кодирање на знаци за Уникод. Кратенката „UTF-8“ се залага за „8-битен универзален формат за трансформација на знаци“, на англиски јазик: „Универзален формат на конверзија на 8-битни знаци“. Еден до четири бајти, секој составен од осум бита, сочинуваат бинарен број читлив од компјутер. Ова го доделува кодирањето на јазичен карактер или друг елемент на текстот. Само-синхронизирачката структура и потенцијалот да генерираат 2 211 бинарни броја овозможуваат непогрешливо доделување на секој единствен јазик и текстуален елемент на сите јазици во светот.
UTF-8 во сетот на знаци Уникод: стандард за сите јазици
Кодирањето UTF-8 е формат на трансформација во рамките на стандардот Уникод. Меѓународниот стандард ISO 10646 во голема мерка го дефинира Уникод, под ознаката „Универзален кодиран знак во собата“. Програмерите на Уникод ограничуваат одредени параметри за практична употреба. Стандардот е наменет да обезбеди меѓународно униформно и компатибилно кодирање на карактери и елементи на текст. Кога Уникод беше воведен во 1991 година, тој дефинираше 24 модерни системи за пишување и симболи на валута за обработка на податоци. Во јуни 2017 година имаше 139.
Постојат различни формати на трансформација на Уникод или скратено „UTF“, кои се 1.114.112 можни Кодови за кодови размножуваат. Преовладуваа три формати: UTF-8, UTF-16 и UTF-32. Другите кодирања како UTF-7 или SCSU исто така имаат свои предности, но сè уште не се утврдени.
Уникод е поделен на 17 нивоа, секое со 65.536 карактери. Нивото се состои од 16 колони и 16 редови. Првото ниво, "Основен повеќејазичен авион " (Ниво 0) опфаќа голем дел од системите за пишување што во моментов се користат во светот, како и интерпункциски знаци, контролни знаци и симболи. Во моментов се користат уште пет нивоа:
- Дополнителен повеќејазичен авион (ниво 1): историски системи за пишување, ретко користени карактери
- Дополнителен идеографски авион (ниво 2): ретки карактери CJK („кинески, јапонски, корејски“)
- Дополнителен авион за специјална намена (ниво 14): индивидуални контролни карактери
- Дополнителна област за приватна употреба - А (ниво 15): приватна употреба
- Дополнителна област за приватна употреба - Б (ниво 16): приватна употреба
Кодирањата UTF овозможуваат пристап до сите знаци на Уникод. Соодветните својства се препорачуваат за одредени области на примена.
Алтернативите: UTF-32 и UTF-16
UTF-32 секогаш работи со 32 бита, т.е. 4 бајти. Едноставната структура ја зголемува читливоста на форматот. Во јазиците кои главно користат латинска азбука и со тоа само првите 128 карактери, кодирањето зазема многу повеќе меморија отколку што е потребно (4 наместо 1 бајт).
UTF-16 се етаблираше како формат на приказ во оперативни системи како што се Apple macOS и Microsoft Windows. Исто така се користи во многу рамки за развој на софтвер. Тој е еден од најстарите UTF што сè уште се користи. Неговата структура е особено погодна за кодирање за зачувување на меморијата на карактери кои не се на латински јазик. Повеќето знаци можат да бидат претставени во 2 бајти (16 бита), само со ретки карактери должината е двојно поголема на 4 бајти.
Ефикасно и скалабилно: UTF-8
UTF-8 се состои од до четири битни жици, секој се состои од 8 бита. Претходникот ASCII сепак, се состои од малку синџир со 7 бита. Двете кодирања ги поставуваат првите 128 кодирани знаци складен цврсто Ликовите, кои главно доаѓаат од англискиот јазик, секој е покриен со еден бајт. За јазиците со латинска азбука, овој формат ја користи меморијата најефикасно. Оперативните системи Уникс и Линукс го користат внатрешно.Сепак, UTF-8 ја игра својата најважна улога во врска со Интернет апликации, имено кога се прикажува текст на Светската мрежа или во е-пошта.
благодарение на само-синхронизирачка структура читливоста се задржува и покрај променливата должина по карактер. Без ограничувања на Уникод, UTF-8 (= 4.398.046.511.104) ќе дозволи доделување знаци. Поради ограничувањето од 4 бајти во Уникод, тој е ефективно 2 21, што е повеќе од доволно. Дури и областа Уникод сè уште има празни нивоа за многу други системи за пишување. Точната задача спречува преклопувања на кодепоинт, што ја ограничуваше комуникацијата во минатото. Додека UTF-16 и UTF-32 исто така овозможуваат точна доделување, UTF-8 особено ефикасно го користи меморискиот простор во латинскиот систем за пишување и е дизајниран така што различните системи за пишување можат да коегзистираат и да бидат опфатени без никакви проблеми. Ова овозможува нивно истовремено, значајно прикажување во полето за текст без проблеми со компатибилноста.
Основи: Кодирање и составување на UTF-8
Кодирањето UTF-8 импресионира од една страна со неговата назад компатибилност со ASCII и од друга страна со само-синхронизирачка структура што им овозможува на развивачите полесно да ги идентификуваат изворите на грешка потоа. За секого ASCII карактери користи UTF само 1 бајт. Вкупниот број на битни низи може да се види од првите цифри на бинарниот број. Бидејќи кодот ASCII е само 7 бита, првата цифра е Код број 0. 0 го исполнува меморискиот простор до полн бајт и сигнализира почеток на a Синџир без последователни ланци. На пример, името "UTF-8" ќе се изрази како бинарен број кодиран во UTF-8 како што следува:
01010101
01010100
01000110 година
00101101
00111000
Кодирањето UTF-8 доделува ASCII карактери како оние што се користат во табелата на една битна низа. Сите следниве знаци и симболи во рамките на Уникод имаат два до четири 8-битни жици. Првиот синџир се нарекува Започнете бајт, дополнителни ланци се Следни бајти. Започнете бајти со бајти за продолжување секогаш започнуваат со 11. Бајти за продолжување, сепак, секогаш започнуваат со 10. Ако рачно пребарувате одредена точка во кодот, затоа ќе го препознаете почетокот на шифрираниот карактер од маркерите 0 и 11. -Бајт карактерот е обратен извичник:
11000010 10100001
Кодирањето со префиксот спречува да се кодира друг карактер во синџир на бајти. Ако проток на бајт започне во средината на документот, компјутерот сепак правилно ќе ги прикажува читливите знаци, бидејќи дури нема да мапира и нецелосни знаци. Ако барате почеток на знак, ограничувањето од 4 бајти значи дека треба да вратите максимум три бајти со синџири во која било точка за да го пронајдете почетниот бајт.
Друг елемент на структурирање: Бројот на оние на почетокот на почетниот бајт го означува Должина на синџирот на бајти. Како што е прикажано погоре, 110xxxxx се залага за 2 бајти. 1110xxxx се залага за 3 бајти, 11110xxx за 4 бајти. Во Уникод, доделената вредност на бајт одговара на бројот на знакот, што овозможува лексичко подредување. Сепак, постојат дупки. Областа Уникод U + 007F до U + 009F вклучува неназначени контролни броеви. Стандардот UTF-8 не доделува знаци за печатење таму, само команди.
Како што споменавме, кодирањето UTF-8 теоретски може да состави до осум бајти синџири заедно. Сепак, Уникод бара максимална должина од 4 бајти. Од една страна, ова има последица дека синџирите на бајти со 5 или повеќе бајти се стандардно невалидни. Од друга страна, ова ограничување го одразува напорот за кодирање што е можно повеќе компактен - Така, со малку отпечаток на меморија - и ако е можно структуриран мапа. Основно правило кога се користи UTF-8 е дека најкратко можно кодирање треба да се користи. На пример, буквата ä е кодирана со употреба на 2 бајти: 11000011 10100100. Теоретски, можно е да се комбинираат кодните точки за буквата а (01100001) и симболот за диреза ¨ (11001100 10001000) за да претставуваат ä: 01100001 11001100 10001000. Оваа форма Сепак, UTF-8 се смета за премногу долго кодирање и затоа не е дозволен.
Ова правило е причина што бајт-секвенците кои започнуваат со 192 и 193 не се дозволени. Ова е затоа што тие потенцијално претставуваат карактери во опсегот ASCII (0–127) со 2 бајти кои се веќе кодирани со 1 бајт.
Некои опсези на вредности на Уникод не беа дефинирани за UTF-8 затоа што се достапни за сурогатите UTF-16. Прегледот покажува кои бајти во UTF-8 под Уникод според работната група за инженерство на Интернет (IETF) како дозволено се применуваат (областите со зелена ознака се валидни бајти, областите обележани со црвена боја не се валидни).
Конверзија на хексадецимален Unicode во бинарен UTF-8
Компјутерите читаат само бинарни броеви, луѓето користат децимален систем. Интерфејс помеѓу овие форми е тоа Хексадецимален систем. Помага да се прикажат долги битни ланци на компактен начин. Ги користи цифрите од 0 до 9 и буквите А до Ф и делува врз основа на бројот 16. Како четврта моќност на 2, хексадецималниот систем е подобар од децималниот систем за претставување на осумцифрени бајтски области. Хексадецимална цифра означува низа од четири („грицкање“) во рамките на октетата. Бајт со осум бинарни цифри може да биде претставен со само две хексадецимални цифри. Уникод користи хексадецимален систем за Позиција на лик да се опише во рамките на сопствениот систем. Од ова, може да се пресмета бинарниот број и, конечно, точката на кодот UTF-8.
Прво, бинарниот број мора да се конвертира од хексадецималниот број. Потоа ги вклопувате кодовите точки во структурата на кодирањето UTF-8. Користете го следново за полесно структурирање Преглед, што покажува колку кодови се вклопуваат во синџир на бајти и која структура може да ја очекувате во кој опсег на вредности на Уникод.