Vojna Enciklopedija:УТФ-8
Луа еррор: Цаннот цреате процесс: проц_опен(/дев/нулл): фаилед то опен стреам: Оператион нот пермиттед УТФ-8 варијанта је најзгоднија за кодирање већински латиничног текста. Дато је и кратко упутство за коришћење те варијанте у Мицрософт Wорд-у, Нетсцапе Цомпосер-у и текстуалном едитору Кате. У тексту су такође препоручени стандардни Уницоде фонтови који омогућавају лаку преносивост текста са рачунара на рачунар или за објављивање текста на Интернет.
Развој електронског записа текста
Први рачунари су били прављени претежно за енглеско говорно подручје и имали су подршку само за енглески алфабет, за бројеве, заграде и још по неки контролни карактер, што је чинило укупно 128 могућих слова (у 7 бита). То је био тзв. ASCII или US-ASCII стандард.
1968. године је скуп карактера проширен на 256 (8 бита), а „горњих“ 128 карактера је било коришћено за додатне карактере. Из неке навике је и овај проширени ASCII називан ASCII, тако да ту често долази до забуне. Да би постојала подршка за више језика, смишљане су тзв. кодне стране (Code Page) које дефинишу понашање тог додатног скупа слова. Основна кодна страна на персоналним рачунарима (PC437) у том горњем сету карактера дефинише разне графичке карактере за цртање текстуалних прозора и слично. Касније је развијено још пуно кодних страна које подржавају одређене језике. Тако постоје Latin1 (ISO-8859-1) за латинична писма Западне Европе (Француска, Немачка, Шпанија, ...), Latin2 (ISO-8859-2) и Windows-1250 за латинична писма Источне Европе (српска латиница и сл.), ISO-8859-5, KOI8-R и Windows-1251 за ћирилицу, итд. Основни проблем са кодним странама је то што се међусобно искључују, тј. цео документ мора да буде написан истим писмом. То углавном није проблем реализовати, али ако би било потребно помешати два писма, као на пример у неком туристичком водичу где заједно постоји и текст на српском, на енглеском и на француском, наилази се на проблем. Због тога се дошло до идеје да се направи јединствени запис за све језике - Јуникод (Unicode) (united - уједињен, заједнички; code - код, запис).
Преглед постојећих верзија Уницоде-а
Постоји више верзија Уницоде-а. Базична верзија је двобајтни формат записа до 216 = 65536 карактера. Њен назив је УЦС-2 зато што користи два октета, односно два бајта. Са тих 65536 карактера решен је проблем записа скоро свих постојећих писама (укључујући чак и нека измишљена, као на пример клингонско писмо). Овај тип Уницоде-а се назива Плаин УЦС-2 или УТФ-16.
Сада се јавља проблем алокације простора за Уницоде поруку на медијуму који се користи. Ако је реч о неком документу на диску, он ће да заузима дупло више простора него конвенционалан документ јер ће се сваки карактер записивати са два бајта уместо само са једним. Ако је реч о преносу података преко рачунарске мреже, биће потребно пренети дупло више података, па ће самим тим и пренос да траје дупло више (односно да кошта дупло више). Поставља се питање да ли је то сувише велика цена за универзално писмо и да ли постоји неки начин да се тај проблем превазиђе и избегне. Као решење увек стоји могућност да се записује неком одговарајућом кодном страницом и троши бајт по карактеру, ако није неопходно коришћење више писама у истом документу (што се ретко дешава). Друго решење је коришћење тзв. трансформационих шеме за погоднији запис и пренос података коришћењем Уницоде-а.
Прво је развијена Уницоде трансформациона шема са основном јединицом од 8 бита (УТФ-8). Помоћу ње се карактер записује у једном, два или три бајта, у зависности од тога о ком је карактеру реч. Ова трансформациона шема је превасходно згодна за употребу у језицима који користе латиницу. О УТФ-8 ће бити више речи у поглављу Укратко о УТФ-8.
Један део Маил Трансфер Агент-а, као и званични стандард за Интернет пошту (ИЕТФ: СТД 11, РФЦ 822) подржава само 7-битне маил поруке. МИМЕ стандарди (РФЦ 2045, РФЦ 2046, РФЦ 2047, РФЦ 2048 и РФЦ 2049) омогућавају пренос вишебитних речи преко Интернет маил-а, користећи Басе64 и Qуотед Принтабле начине кодирања, међутим, они нису прављени за пренос Уницоде-а него за пренос било каквих фајлова и нису били оптимална решења. Због тога је касније развијена 7-битна трансформациона шема УТФ-7. Ту се карактер записује у једном или у неколико бајтова, слично као и у УТФ-8. Основна разлика је у томе што УТФ-7 користи само Басе64 карактере који без проблема могу да се преносе путем електронске поште. За такву намену се показало да је УТФ-7 оптималнији запис него УТФ-8 када се кодира са Басе64 или са Qуотед Принтабле алгоритмима кодирања.
Постоји и новији Уницоде стандард под називом УЦС-4 који користи 4 бајта за запис 231 = 2147483648 карактера подељених у тзв. равни. Прва два бајта дефинишу раван, тако да има 215 = 32768 равни. Друга два бајта дефинишу карактер унутар равни, тако да има 216 = 65536 карактера по равни. Тај новији формат је више направљен као план за будућност него као реална опција, пошто још увек ни један карактер није алоциран у новодобијени простор, односно сви за сада дефинисани карактери (цео УЦС-2) се налазе у равни 0 или основној вишејезичкој равни (Басиц Мултилингуал Плане, БМП). Међутим, пошто је УЦС-4 нови стандард за Уницоде, треба и њега имати у виду. Да би се УЦС-4 транспарентно увео у употребу редефинисани су формати записа УТФ-7, УТФ-8, УТФ-16 и УТФ-32. То је учињено тако да сваки карактер из УЦС-2 има исту репрезентацију у УТФ-7 и УТФ-8 као и раније. УТФ-16 је у неку руку синоним за УЦС-2 и садржи више од два бајта само у случају да се кодира неки карактер ван "Основне језичке равни" (БМП), који за сада не постоје. За више информација, погледајте табелу Шема кодирања УЦС-4 у УТФ-8. УТФ-32 је у ствари начин записа УЦС-4 у коме се користе сва четири бајта. Због тога што виши и нижи бајт (или два бајта) могу да се запишу у меморију на два начина, постоје још по две подваријанте УТФ-16 и УТФ-32 које се разликују по редоследу бајтова. То су УТФ-16БЕ (биг ендиан) и УТФ-16ЛЕ (литтле ендиан) и УТФ-32БЕ и УТФ-32ЛЕ. Ово није уведено да би се увела додатна забуна и збрка, него зато што различите архитектуре рачунара различито чувају податке.
Такође бих желео да напоменем да постоје две организације које дефинишу два стандарда за Уницоде. Један формат је развијен од стране тзв. Тхе Уницоде Цонсортиум под називом Тхе Уницоде Стандард. Други стандард је развила Међународна организација за стандардизацију - Интернатионал Организатион фор Стандардизатион, под називом ИСО/ИЕЦ 10646. Та два стандарда су скоро идентична и разликују се по питању тзв. Хан унификације (представљање јапанских, кинеских и корејских знакова једним јединственим скупом знакова), око додатних карактера за дефинисање акцената, а од скоро и у томе што Уницоде Цонсортиум није још подржао УЦС-4 стандард. Међутим, за нашу употребу слободно можемо да сматрамо да су потпуно идентични. Међународна организација која дефинише стандарде за Интернет - Интернет Енгинееринг Таск Форце, ИЕТФ је у својим стандардима, тзв. "захтевима за коментарима" (Реqуест фор Цомментс, РФЦ), у којима је дефинисано све што постоји на Интернету, прихватила УТФ-7 (РФЦ 1642 и РФЦ 2152), УТФ-8 (РФЦ 2044 и РФЦ 2279) и УТФ-16 (РФЦ 2781), чиме су они и "званично" ушли у употребу на Интернету, тј. свуда. У најновијим стандардима ИЕТФ је изоставио Уницоде Цонсортиум и користи само верзију ИСО 10646, што значи да је званично призната верзија ИСО 10646.
У ХТМЛ језику за опис веб страница се јављају још два начина за кодирање Уницоде карактера. Ови начини троше много више простора него оригинални Уницоде запис и намењени су за коришћење унутар неке од кодних страница за убацивање понеког карактера из неке друге кодне странице. Један начин је запис окталних вредности УТФ-8 бајтова. Записује се тако што се прво запише карактер \, па онда октална вредност бајта. Ако тај карактер у УТФ-8 кодирању садржи више бајтова, сваки бајт се записује на исти начин. Тако на пример карактер Ф чији је УЦС-2 код У+0424 (У+ означава да је реч о Уницоде карактеру), а УТФ-8 запис 0xД0 0xА4 има свој ХТМЛ октални запис као \320\244, пошто је 0xД0 = 0320(октални) = 208(децимални) и 0xА4 = 0244 = 164.
Други начин записа Уницоде карактера у ХТМЛ-у је путем децималне вредности њиховог УЦС-2 кода. Записује се тако што се прво запишу карактери &#, па онда децимална вредност УЦС-2 кода и на крају карактер ;. Тако би се, на пример, горепоменути карактер Ф са УЦС-2 кодом У+0424 записао у ХТМЛ децималном запису као Ф, пошто је 0x0424 = 02044 = 1060.
Укратко о УТФ-8
УТФ-8 је замишљен као формат који највише одговара латиничном тексту. То је веома погодно за коришћење у изворном коду програма или у разноразним маркуп језицима (ХТМЛ, XМЛ, \ЛаТеX, ...) јер су стандардне команде тих програмских/маркуп језика увек АСЦИИ, а текст који се користи може да буде и АСЦИИ и УТФ-8. На тај начин се не омета рад програмског компајлера или парсера маркуп језика, а омогућава се коришћење вишејезичке подршке.
У УТФ-8 се карактер записује у облику једног бајта ако у свом запису садржи само најнижих 7 бита, односно, ако је реч о АСЦИИ карактеру (види поглавље Развој електронског записа текста). Уколико карактер у свом Уницоде запису садржи само најнижих 11 бита, у УТФ-8 се записује у облику два бајта. I на крају, ако карактер садржи свих 16 бита, записује се у облику три бајта. У табели 1 је дата шема како се УЦС-4 трансформише у УТФ-8. Табела је дата за пун, четворобајтни Уницоде, а ако је реч о двобајтном Уницоде-у, тј. о УЦС-2, треба гледати само прва три реда у табели. Детаљнији опис алгоритма за трансформацију може се наћи у РФЦ 2279.
УТФ-8 није оптималан начин записа за кинески и јапански текст јер уместо да се користе два бајта по карактеру, за такав текст би било коришћено чак три бајта по карактеру, али то и није толико важно за нас. За ћирилични текст је, са друге стране, све једно да ли се користи чисти УНИЦОДЕ или УТФ-8, пошто се сваки ћирилични карактер записује у облику два бајта и у једном и у другом формату. За нас је ипак оптималнији УТФ-8 јер постоји могућност писања и ћирилицом и латиницом, па ако у ћирилици већ не може да се избегне употреба два бајта, у латиници се скоро сви карактери записују само са једним бајтом (осим шђчћж).
|
Коришћење УТФ-8 у програмима
Фонтови који подржавају Уницоде
Да би се користио Уницоде у припреми докумената, потребно је имати одговарајуће фонтове који га (барем делимично) подржавају. Од фонтова доступних на Wиндоwс-у, Уницоде сигурно подржавају Ариал, Тимес Неw Роман, Хелветица, Вердана и Цоуриер Неw фонтови, а такође су инсталирани на свим Wиндоwс платформама, тако да би генерално требало да се користи неки од тих фонтова. Фонтови типа ТимесЦирилица или YУЛТимес могу да прикажу наше карактере, али су далеко од Уницоде-а и у преносу фајла са једног на други рачунар у електронском облику постоји велика шанса да тај фајл неће бити лепо читљив на другом рачунару, тако да би требало да се такви нестандардни фонтови избегавају колико год је то могуће.
На ЛИНУX-у и осталим УНИX-има се у самом називу фонта види да ли подржава уницоде или не, пошто последњи део назива фонта представља цхарацтер сет фонта. Ако ту пише исо10646, то значи да је фонт Уницоде компатибилан. Међутим, и овде бих ради преносивости докумената, препоручио да се користе стандардни (Адобе) фонтови, као што су Тимес (-адобе-тимес-*-исо10646-1), Утопиа (-адобе-утопиа-*-исо10646-1), Хелветица (-адобе-хелветица-*-исо10646-1), Цоуриер (-адобе-цоуриер-*-исо10646-1).
Уницоде, базе података и XМЛ
Светски трендови развоја база података иду ка увођењу Уницоде-а, као стандардни начин записа података и XМЛ-а, као стандарни језик за пренос и презентацију тих података.
Већина база података већ дуже време подржава Уницоде. Добар део апликација за рад са базама користе XМЛ за презентовање и пренос података, зато што се показало да је XМЛ једноставан језик за програмирање, за који већ постоји пуно парсер-а и зато што се показало да је XМЛ довољно флексибилан да може да пренесе било какав тип података на сличан начин. Да би се програми међусобно "разумели" развијени су разни стандарди за опис података користећи XМЛ (као што је на пример Енцодед Арцхивал Десцриптион стандард).
То увођење XМЛ-а као главног језика за подршку базама података је још више учврстило позицију Уницоде-а, пошто се XМЛ фајлови стандардно пишу у УТФ-8 или УТФ-16. Занимљива је и та чињеница да је Мицрософт, који се углавном противи свим стандардима и труди се да дефинише своје, прихватио XМЛ и користи га где год може. Цела .НЕТ технологија је XМЛ базирана. Због тога може да се очекује да ће у будућности бити само више XМЛ-а и више Уницоде-а и да је битно што раније се оријентисати ка њима.
Табела кодова за наша слова
У табели 2 су излистани скоро сви карактери који се код нас користе, са својим УЦС-2 кодом, УТФ-8 записом и са ХТМЛ окталним и децималним записима (за више информација погледајте поглавље 2).
Карактер | Изглед | УТФ-8 | октална | децимална |
Велика латинична слова | ||||
У+0041 | А | 0x41 | \101 | A |
У+0042 | Б | 0x42 | \102 | B |
У+0043 | C | 0x43 | \103 | C |
У+0044 | D | 0x44 | \104 | D |
У+0045 | Е | 0x45 | \105 | E |
У+0046 | Ф | 0x46 | \106 | F |
У+0047 | Г | 0x47 | \107 | G |
У+0048 | Х | 0x48 | \110 | H |
У+0049 | I | 0x49 | \111 | I |
У+004А | Ј | 0x4А | \112 | J |
У+004Б | К | 0x4Б | \113 | K |
У+004Ц | L | 0x4Ц | \114 | L |
У+004Д | M | 0x4Д | \115 | M |
У+004Е | Н | 0x4Е | \116 | N |
У+004Ф | О | 0x4Ф | \117 | O |
У+0050 | П | 0x50 | \120 | P |
У+0051 | Q | 0x51 | \121 | Q |
У+0052 | Р | 0x52 | \122 | R |
У+0053 | С | 0x53 | \123 | S |
У+0054 | Т | 0x54 | \124 | T |
У+0055 | У | 0x55 | \125 | U |
У+0056 | V | 0x56 | \126 | V |
У+0057 | W | 0x57 | \127 | W |
У+0058 | X | 0x58 | \130 | X |
У+0059 | Y | 0x59 | \131 | Y |
У+005А | З | 0x5А | \132 | Z |
Мала латинична слова | ||||
У+0061 | а | 0x61 | \141 | a |
У+0062 | б | 0x62 | \142 | b |
У+0063 | ц | 0x63 | \143 | c |
У+0064 | д | 0x64 | \144 | d |
У+0065 | е | 0x65 | \145 | e |
У+0066 | ф | 0x66 | \146 | e |
У+0067 | г | 0x67 | \147 | g |
У+0068 | х | 0x68 | \150 | h |
У+0069 | и | 0x69 | \151 | i |
У+006А | ј | 0x6А | \152 | j |
У+006Б | к | 0x6Б | \153 | k |
У+006Ц | л | 0x6Ц | \154 | l |
У+006Д | м | 0x6Д | \155 | m |
У+006Е | н | 0x6Е | \156 | n |
У+006Ф | о | 0x6Ф | \157 | o |
У+0070 | п | 0x70 | \160 | p |
У+0071 | q | 0x71 | \161 | q |
У+0072 | р | 0x72 | \162 | r |
У+0073 | с | 0x73 | \163 | s |
У+0074 | т | 0x74 | \164 | t |
У+0075 | у | 0x75 | \165 | u |
У+0076 | в | 0x76 | \166 | v |
У+0077 | w | 0x77 | \167 | w |
У+0078 | x | 0x78 | \170 | x |
У+0079 | y | 0x79 | \171 | y |
У+007А | з | 0x7А | \172 | z |
Наша додатна латинична слова | ||||
У+0106 | Ћ | 0xЦ4 0x86 | \304\206 | Ć |
У+0107 | ћ | 0xЦ4 0x87 | \304\207 | ć |
У+010Ц | Ч | 0xЦ4 0x8Ц | \304\214 | Č |
У+010Д | ч | 0xЦ4 0x8Д | \304\215 | č |
У+0110 | Ђ | 0xЦ4 0x90 | \304\220 | Đ |
У+0111 | ђ | 0xЦ4 0x91 | \304\221 | đ |
У+0160 | Ш | 0xЦ5 0xА0 | \305\240 | Š |
У+0161 | ш | 0xЦ5 0xА1 | \305\241 | š |
У+017Д | Ж | 0xЦ5 0xБД | \305\275 | Ž |
У+017Е | ж | 0xЦ5 0xБЕ | \305\276 | ž |
Велика ћирилична слова | ||||
У+0402 | Ђ | 0xД0 0x82 | \320\202 | Ђ |
У+0408 | Ј | 0xД0 0x88 | \320\210 | Ј |
У+0409 | Љ | 0xД0 0x89 | \320\211 | Љ |
У+040А | Њ | 0xД0 0x8А | \320\212 | Њ |
У+040Б | Ћ | 0xД0 0x8Б | \320\213 | Ћ |
У+040Ф | Џ | 0xД0 0x8Ф | \320\217 | Џ |
У+0410 | А | 0xД0 0x90 | \320\220 | А |
У+0411 | Б | 0xД0 0x91 | \320\221 | Б |
У+0412 | В | 0xД0 0x92 | \320\222 | В |
У+0413 | Г | 0xД0 0x93 | \320\223 | Г |
У+0414 | Д | 0xД0 0x94 | \320\224 | Д |
У+0415 | Е | 0xД0 0x95 | \320\225 | Е |
У+0416 | Ж | 0xД0 0x96 | \320\226 | Ж |
У+0417 | З | 0xД0 0x97 | \320\227 | З |
У+0418 | И | 0xД0 0x98 | \320\230 | И |
У+041А | К | 0xД0 0x9А | \320\232 | К |
У+041Б | Л | 0xД0 0x9Б | \320\233 | Л |
У+041Ц | М | 0xД0 0x9Ц | \320\234 | М |
У+041Д | Н | 0xД0 0x9Д | \320\235 | Н |
У+041Е | О | 0xД0 0x9Е | \320\236 | О |
У+041Ф | П | 0xД0 0x9Ф | \320\237 | П |
У+0420 | Р | 0xД0 0xА0 | \320\240 | Р |
У+0421 | С | 0xД0 0xА1 | \320\241 | С |
У+0422 | Т | 0xД0 0xА2 | \320\242 | Т |
У+0423 | У | 0xД0 0xА3 | \320\243 | У |
У+0424 | Ф | 0xД0 0xА4 | \320\244 | Ф |
У+0425 | Х | 0xД0 0xА5 | \320\245 | Х |
У+0426 | Ц | 0xД0 0xА6 | \320\246 | Ц |
У+0427 | Ч | 0xД0 0xА7 | \320\247 | Ч |
У+0428 | Ш | 0xД0 0xА8 | \320\250 | Ш |
Мала ћирилична слова | ||||
У+0430 | а | 0xД0 0xБ0 | \320\260 | а |
У+0431 | б | 0xД0 0xБ1 | \320\261 | б |
У+0432 | в | 0xД0 0xБ2 | \320\262 | в |
У+0433 | г | 0xД0 0xБ3 | \320\263 | г |
У+0434 | д | 0xД0 0xБ4 | \320\264 | д |
У+0435 | е | 0xД0 0xБ5 | \320\265 | е |
У+0436 | ж | 0xД0 0xБ6 | \320\266 | ж |
У+0437 | з | 0xД0 0xБ7 | \320\267 | з |
У+0438 | и | 0xД0 0xБ8 | \320\270 | и |
У+043А | к | 0xД0 0xБА | \320\272 | к |
У+043Б | л | 0xД0 0xББ | \320\273 | л |
У+043Ц | м | 0xД0 0xБЦ | \320\274 | м |
У+043Д | н | 0xД0 0xБД | \320\275 | н |
У+043Е | о | 0xД0 0xБЕ | \320\276 | о |
У+043Ф | п | 0xД0 0xБФ | \320\277 | п |
У+0440 | р | 0xД0 0xЦ0 | \320\280 | р |
У+0441 | с | 0xД0 0xЦ1 | \320\281 | с |
У+0442 | т | 0xД0 0xЦ2 | \320\282 | т |
У+0443 | у | 0xД0 0xЦ3 | \320\283 | у |
У+0444 | ф | 0xД0 0xЦ4 | \320\284 | ф |
У+0445 | х | 0xД0 0xЦ5 | \320\285 | х |
У+0446 | ц | 0xД0 0xЦ6 | \320\286 | ц |
У+0447 | ч | 0xД0 0xЦ7 | \320\287 | ч |
У+0448 | ш | 0xД0 0xЦ8 | \320\290 | ш |
У+0452 | ђ | 0xД1 0x92 | \321\222 | ђ |
У+0458 | ј | 0xД1 0x98 | \321\230 | ј |
У+0459 | љ | 0xД1 0x99 | \321\231 | љ |
У+045А | њ | 0xД1 0x9А | \321\232 | њ |
У+045Б | ћ | 0xД1 0x9Б | \321\233 | ћ |
У+045Ф | џ | 0xД1 0x9Ф | \321\237 | џ |
Литература
- ДецодеУницоде - Уницоде WИКИ, 50.000 гифс
- Филип Брчић.
Укратко о xмл-у, Јануару 2003.
Укратко о xмл-у. - Тхе Уницоде Цонсортиум.
Тхе Уницоде Стандард - Версион 3.0.
Аддисон-Wеслеy, http://www.unicode.org, 2000. - Wорлд Wиде Wеб Цонсортиум.
Еxтенсибле маркуп лангуаге (xмл) 1.1.
Цандидате рецоммендатион, http://www.w3c.org/TR/xml11, 2002. - M. Давис D. Голдсмитх.
Утф-7 - а маил-сафе трансформатион формат оф уницоде.
Еxпериментал 1642, Интернет Енгинееринг Таск Форце, http://www.ietf.org/rfc/rfc1642.txt, 1994. - M. Давис D. Голдсмитх.
Утф-7 - а маил-сафе трансформатион формат оф уницоде.
Информатионал 2152, Интернет Енгинееринг Таск Форце, http://www.ietf.org/rfc/rfc2152.txt, 1997. - Улрицх Дреппер.
МАНПАГЕ: Ицонв(3) 2.2.5 - Перформ цхарацтер сет цонверсион.
Фрее Софтwаре Фоундатион, Инц., 2002. - Бојан Маринковић <мр99007@алас.матф.бг.ац.рс>.
Енцодед арцхивал десцриптион доцумент тyпе дефинитион.
2003. - К. Мооре.
Мултипурпосе интернет маил еxтенсионс (миме) парт тхрее: Мессаге хеадер еxтенсионс фор нон-асции теxт.
Стандардс Трацк 2047, Интернет Енгинееринг Таск Форце, http://www.ietf.org/rfc/rfc2047.txt, 1996. - Ј. Постел Н. Фреед, Ј. Кленсин.
Мултипурпосе интернет маил еxтенсионс (миме) парт фоур: Регистратион процедурес.
Стандардс Трацк 2048, Интернет Енгинееринг Таск Форце, http://www.ietf.org/rfc/rfc2048.txt, 1996. - Н. Боренстеин Н. Фреед.
Мултипурпосе интернет маил еxтенсионс (миме) парт фиве: Цонформанце цритериа анд еxамплес.
Стандардс Трацк 2049, Интернет Енгинееринг Таск Форце, http://www.ietf.org/rfc/rfc2049.txt, 1996. - Н. Боренстеин Н. Фреед.
Мултипурпосе интернет маил еxтенсионс (миме) парт оне: Формат оф интернет мессаге бодиес.
Стандардс Трацк 2045, Интернет Енгинееринг Таск Форце, http://www.ietf.org/rfc/rfc2045.txt, 1996. - Н. Боренстеин Н. Фреед.
Мултипурпосе интернет маил еxтенсионс (миме) парт тwо: Медиа тyпес.
Стандардс Трацк 2046, Интернет Енгинееринг Таск Форце, http://www.ietf.org/rfc/rfc2046.txt, 1996. - Ф. Yергеау П. Хоффман.
Утф-16, ан енцодинг оф исо 10646.
Информатионал 2781, Интернет Енгинееринг Таск Форце, http://www.ietf.org/rfc/rfc2781.txt, 2000. - Ф. Yергеау.
Утф-8, а тренсформатион формат оф уницоде анд исо 10646.
Информатионал 2044, Интернет Енгинееринг Таск Форце, http://www.ietf.org/rfc/rfc2044.txt, 1996. - Ф. Yергеау.
Утф-8, а тренсформатион формат оф исо 10646.
Стандардс Трацк 2279, Интернет Енгинееринг Таск Форце, http://www.ietf.org/rfc/rfc2279.txt, 1998.