Компютер, Барномасозӣ
UTF-8 - куред
Unicode дастгирӣ қариб тамоми маҷмӯи аломатҳои мавҷуда. Беҳтарин шакли рамзгузорӣ маҷмӯи хусусияти Юникод UTF-8 рамзгузории аст. Ин дастгирӣ кардан мутобиқат кардан бо ASCII, муқовимат ба таҳрифи маълумот, самаранокӣ ва осонии коркард. Аммо он чи аввал аввал.
шакли рамзгузории
Компютерҳо фаъолият на танҳо ҳамчун рақамҳои объектҳои реферат математика, инчунин таркиби воњидњои нигаҳдорӣ ва муомилот маълумоти собит-андозаи - байтӣ ва суханони 32-бита. стандарти кодгузории мол бояд ба ин, ба ҳисоби ҳангоми муайян, ки чӣ тавр ба гирифтани пешниҳод миқдори ҳуруфоти.
Дар системаҳои компютерӣ, ки integers дар ҳуҷайраҳои хотираи 8 бит (1 байтӣ), 16 ва ё 32 бит нигоњ дошта мешавад. Ҳар як шакли рамзгузории Юникод, ки пайдарпаии ҳуҷайраҳои хотира бутунро дахлдор ба рамзи махсус аст, муайян мекунад. Дар стандарти се шаклҳои гуногуни рамзгузории аломатҳои Unicode 8, 16 ва 32-бита блокҳои нест. Бинобар ин, пас онҳо ҳамчун UTF-8, UTF-16 ва UTF-32 маълум аст. Ном UTF меистад, барои Unicode Формат Трансформатсияи. Ҳар яке аз ин се шакли воситаҳои рамзгузории аст, баробари намояндагии хислати Юникод афзалиятҳо дорад, дар барномаҳои гуногун.
рамзгузории маълумотҳо метавонад истифода шавад барои, тамоми аломатҳои дар стандарти Unicode. Ҳамин тавр, онҳо барои якчанд сабабҳои пурра ба ҳалли мувофиқ ҳастанд, бо истифода аз шаклҳои гуногуни рамзгузории. Ҳар кодҳо хоњиши метавонад ба ягон аз ин ду нафари дигар бе даст рафтани иттилоот табдил шавад.
принсипи nenalozheniya
Ҳар яке аз рамзгузории шаклњои Unicode дар назари омехта ғайридавлатӣ қисман тањия карда мешавад. Масалан, Windows-932 Асли аломат аз як ё ду байт коди. Дарозии пайдарпаии вобаста ба байтӣ аввал, то арзишҳои байтӣ пешбари дар силсилаи ду-байтӣ ва disjoint байтӣ ягонаи. Бо вуҷуди ин, арзиши як байтӣ ягона ва trailing пайдарпаии байтӣ метавонад, мувофиқат кунад. Ин маънои онро дорад, ки барои мисол, ки дар ҷустуҷӯи хислати D (рамзи 44) метавонанд пайдо иштибоҳан воридшавӣ ба қисми дуюми навбат ду-байтӣ аломати «D» (рамзи 84 44). Барои фаҳмидани, ки пайдарпаии нодуруст аст, ки барнома бояд ба инобат байт гузашта мегирад.
Вазъияти мураккаб аст, агар бозии пешбар ва trailing байт. Ин маънои онро дорад, ки ба хотири ба хориҷ ambiguity хоҳад обратного баръакс пеш аз расидан ба аввали матн ё пайдарпаии рамзи беназир бошад. Ин аст, на танҳо бесамар аст, аммо аз хатоҳои имконпазир ҳифз карда нашуда бошад, зеро танҳо як байтӣ нодуруст ба матни пурра аз баски табдил ёфтааст.
табдили Формат Юникод дурӣ ин масъала, чунки арзиши пешбари, trailing, ва як воҳиди ягонаи нигоҳдорӣ мебошанд маълумоти якхела нест. Ин кафолат медиҳад, ки тамоми Unicode барои ҷустуҷӯи ва муқоисавӣ, ҳаргиз додани натиҷаҳои нодурусти сабаби тасодуф қисматҳои мухталифи Кодекси ҳарфҳо. Далели он, ки ин шаклҳои рамзгузории риоя nenalozheniya принсипи, онҳоро аз дигар рақамии бисёрсоҳавӣ-байтӣ Осиё Ховари мушаххас карда мешаванд.
Ҷанбаи дигари nonintersection рақамии Unicode он аст, ки ҳар як аломати дорад марзи аниқ муайян карда мешавад. Ин маҳв зарурати скан рақами номуайян рамзҳои гузашта. Ин хусусият аст, баъзан Рамзгузории худидоракунии clocking номида мешавад. Таҳрифи навбатии адад Рамзи хоҳад таҳрифи танҳо як хислати љорї, ва аломатҳои гирду беосеб мебошанд. Дар 8-битаи табдил формати, агар нуқтаҳои нишоннамои ба байтӣ, сар карда, бо 10xxxxxx (дар рамзи дуӣ) пайдо оғози рамзи барои як то се гузариши баръакс лозим аст.
пайгирона
Unicode Consortium, пурра дастгирӣ 3 шакли рақамии. Ќайд кардан зарур аст, ки ба муқобилият UTF-8 ва Unicode, чунон ки аз ҳама форматҳои табдил не - баробар шаклҳои њаќиќии таҷассумгари стандарти хусусияти-рамзгузории Юникод.
Байтӣ-тамоюли
Барои муаррифӣ UTF-32 аломат хоҳад воҳиди рамзи 32-бита, ки бо рамзи Юникод ба вуқӯъ мепайвандад лозим аст. UTF-16 - аз як то ду адад 16-бита. A UTF-8 мебарад то 4 байт.
Рамзгузории UTF-8 тарҳрезӣ шудааст мувофиқат бо системаҳои ASCII-байтӣ нигаронида шудааст. Бештари аз нармафзори мавҷуда ва амалияи технологияи иттилоотӣ барои муддати дароз дар бораи намояндагии аломатҳои дар як пайдарњамии байт таваккал мекунанд. протоколҳои зиёди вобаста ба босабраш аз рамзгузории ASCII ва истифода мебарад, ё дурӣ аломатҳои назорати махсус. Роҳи осон барои мутобиқ шудан ба ҳолатҳои Unicode метавонанд, бо истифода аз рамзгузории 8-битаи барои намояндагони аломатҳои Unicode, ба ҳамаи аломатҳои ASCII баробар ё хусусияти назорати. Бо ин мақсад, ва он UTF-8 рамзгузории аст.
дарозии тағйирёбанда
UTF-8 - рамзгузории дарозии тағйирёбанда, иборат аз адад нигаҳдории 8-бита, Лаҷом болоӣ, ки нишон медиҳад, ки қисми Навбати ҳар байтӣ алоҳида тааллуқ дорад. Як қатор арзишҳои људошуда ба элементи якуми бо навбат, рамзи дигаре - барои оянда. Ин рамзгузории disjointness таъмин менамояд.
ASCII
Рамзҳои ASCII Рамзгузории UTF-8 пурра пуштибонӣ (0x00-0x7F). Ин маънои онро дорад, ки аломатҳои Unicode U + 0000-U + 007F доранд, ба ягона байтӣ 0x00-0x7F UTF-8 табдил ва ба ин васила якхела аз ASCII гардад. Гузашта аз ин, барои пешгирӣ ambiguity, ки арзиши 0x00-0x7F гуна бештар дар намояндагии байтӣ ягонаи аломатҳои Unicode истифода бурда намешаванд. Барои кодонии аломатҳои neideograficheskih дигар ASCII, бо истифода аз пайдарпаии ду байт. Аломатҳои қатор U + 0800-U + FFFF аз тарафи се байт намояндагӣ ва кодексњои иловагӣ бо зиёда аз U + FFFF талаб чор байт.
соҳаи истифодаи
Рамзгузории UTF-8 одатан афзалият дар протокол HTML дода мешавад, ва ба инҳо монанд.
XML табдил ёфтааст нахустин стандартӣ бо дастгирии пурра барои UTF-8 рамзгузории. ташкилотҳои Стандартҳои низ тавсия. мушкилоти Дастгирии дар нишонии URL дар он аст, ки фарқ аз ASCII-аломатҳои, вақте ки W3C консорсиум ва гурӯҳи муҳандисии IETF ба Созишнома дар бораи кодҳо ҳама омад ҳал шуд, муроҷиатҳои URL танҳо дар UTF-8.
Мутобиқат кардан бо ASCII мусоидат ба гузариш ба нармафзори нав. Бо UTF-8 кор бештар муњаррирон матн, аз ҷумла JEdit, Emacs, BBEdit, офтобгирӣ ва «Notepad" низоми фаъолияти Windows. Не шакли дигари рамзгузории Unicode нест, метавонад аз чунин дастгирии воситаи як фахр намоянд.
рамзгузории Бартарии он аст, ки аз як пайдарњамии байт иборат аст. Бо UTF-8 сатри осон аст, ки ба кор дар C ва дигар забонҳои барномасозӣ. Ин ягона шакли Рамзгузории аст, тартиби тавр тамғакоғазҳо талаб намекунад байт BOM ё декларатсияи рамзгузорӣ дар XML.
худидоракунии ҳамоҳангсозӣ
Дар муҳити, ки истифода мебарад, рамзи 8-каме аз коркарди муқоиса бо дигар маҷмӯи хусусияти бисёрсоҳавӣ-байтӣ, UTF-8 дорои бартариҳои зерин:
- Дар аввал пайдарпаии Рамзи байтӣ дорои маълумот дар бораи дарозии он. Ин самаранокии муоина бевоситаи меафзояд.
- Соддашуда дарёфти оғози рамзи ҳамчун байтӣ сар ба маҳдуд ба як қатор доимӣ арзишҳои аст.
- Не арзишҳои чорроҳаи байтӣ.
Муқоиса кардани манфиатҳои
Рамзгузории UTF-8 паймон аст. Аммо вақте ки барои рамзгузории аломатҳои Осиё Шарқи истифода бурда мешавад (Чин, Ҷопон, Корея, Чин хаттӣ бо истифода аз оёти) истифода бурда Пасиҳамоии 3-байтӣ. Ҳамчунин UTF-8 рамзгузории пасттар дигар шаклњои рамзгузории суръати коркарди аст. A хатҳои ҷобаҷогузорӣ дуӣ натиҷа ҳамон тавре ки дуӣ ҷобаҷогузорӣ Unicode меорад.
Дар нақшаи куред
Дар нақшаи куред иборат шакл ва усули ягонаи байтӣ адад Рамзи ҷойгиршавии рамзи рамзгузории. Барои муайян кардани нақшаи рамзгузории стандарти Unicode ба истифодаи аломати байтӣ тартибот ибтидоии (BOM, байтӣ тартибот тамғаи) таъмин менамояд.
Вақте, ки BOM дар UTF-8 теги хусусияти танҳо бо истинод ба истифодаи шаклҳои рамзгузории маҳдуд аст. Проблемањои дар муайян намудани endian UTF-8 доранд, чунон ки андозаи воҳиди рамзгузории он як байтӣ аст. Бо истифода аз BOM барои ин намуди кодҳо аст, на талаб, на тавсия дода мешавад. BOM метавонад дар матн меоянд, то аз дигар codings истифодаи тамға байтӣ фармон ё имзои барои UTF-8 рамзгузории табдил шавад. Оё пайдарпаии 3 байт Санањои BB 16 16 BF 16.
Чӣ тавр ба танзим рамзгузорӣ UTF-8
Дар HTML рамзгузории UTF-8 бо коди зерин насб:
сар
Meta HTTP-equiv = "Content-намуди" мӯҳтавои = "матни / HTML; рамзоти UTF-8 =" ˃
Дар PHP UTF-8 рамзгузорӣ истифода аз Функсияи сарлавҳаи () дар оғози файл баъд аз муқаррар намудани хатои истеҳсоли арзиши сатҳи муқаррар карда мешавад:
˂? PHP
error_reporting (-1);
сарлавҳаи ( "Content-Намуди: матни / HTML; доштани рамзоти иттилоот = UTF-8 ');
Барои пайваст шудан ба махзани MySQL UTF-8 рамзгузории муқаррар карда мешавад:
˂? PHP
mysql_set_charset ( 'utf8');
Дар Рамзгузории CSS-файл аст, аломатҳои UTF-8 ба таври зерин муайян карда мешавад:
@charset "UTF-8»;
Вақте, ки шумо захира кардани файлҳои ҳамаи намудҳои интихоб UTF-8 Рамзгузории бе BOM, дар акси ҳол сомонаи кор нахоҳад кард. Барои ин кор дар DreamWeave бояд барои интихоб кардани менюи "Тағйирот - Page Хосиятҳои - Title / кодгузории мол» ба тағйир додани рамзгузорӣ ба UTF-8. Пас аз нав бор кардан саҳифа, ба хориҷ қайд аз "имзои Connect Unicode (BOM)» ва ба кор бурдани тағйироти. Агар матн дар саҳифаи ё дар махзани шакли дигари кодҳо муаррифӣ шуд, он ба нав дохил кардан ё аз нав кодонии зарур аст. Вақте ки шумо бо ифодаҳои мунтазам кор, боварӣ ба истифода дигаргуна у.
Шумо инчунин метавонед файли дар Рамзгузории UTF-8 дар «Notepad» -и Windows захира кунед. Пас аз интихоби банди менюи «Файл - Наҷоти Тавре ...» насб шакли зарурии Рамзгузории ва захира кардани парванда дар UTF-8.
Дар муҳаррири матнӣ Notepad ++, агар ғайр аз UTF-8,, тавассути банди менюи «Табдил ба UTF-8 бе BOM» тағйир додани хислат ва чуз дар UTF-8.
ягон илоҷи дигар набошад
Дар шароити ҷаҳонишавӣ, ки дар он ҳудуди сиёсӣ ва забонӣ ҳифзшуда тоза мешаванд, маҷмӯи ҳарфҳо, ки хусусиятҳои маҳаллӣ, истифодаи кам мебошанд. Unicode маҷмӯи аломатҳои ягона, ки ҳамаи орг мусоидат мекунад. A UTF-8 - намунаи татбиқи дурусти Unicode аст, ки:
- Ин дастгирӣ доираи васеи воситаҳои, аз ҷумла кардан мутобиқат кардан бо рамзгузории ASCII;
- Ин ба маълумоти таҳрифи тобовар аст;
- оддӣ ва дар муолиљаи самараноки;
- платформаи мустақил мебошад.
Бо пайдоиши баҳс UTF-8 дар бораи чӣ шакли рамзгузории ё хусусияти маҷмӯи беҳтар аст, аз он бемаънӣ мегардад.
Similar articles
Trending Now