JavaRush /Java Blog /Random-TK /Tekst kodlamagy ASCII (Windows 1251, CP866, KOI8-R) we ic...
articles
Dereje

Tekst kodlamagy ASCII (Windows 1251, CP866, KOI8-R) we icunikod (UTF 8, 16, 32) - krakerler bilen meseläni nädip çözmeli

Toparda çap edildi
Bu gün krakozyabrlaryň web sahypasynda we programmalarda nireden gelýändigi, haýsy tekst kodlamalarynyň bardygyny we haýsysynyň ulanylmalydygy barada söhbet ederis. Esasy ASCII-den başlap, CP866, KOI8-R, Windows 1251-iň giňeldilen wersiýalaryna we UTF 16 we 8. häzirki zaman icunikod konsorsium kodlamalary bilen gutarýan ösüş taryhyna has içgin seredeliň. Tekst kodlamagy ASCII (Windows 1251, CP866, KOI8-R) we icunikod (UTF 8, 16, 32) - krakerler bilen meseläni nädip çözmeli - 1Mazmuny: Käbirleri üçin bu maglumatlar zerur däl ýaly bolup görünmegi mümkin, ýöne süýrenýän krakozyabrlar (okalmaýan nyşanlaryň toplumy) bilen baglanyşykly näçe soragy alýandygymy bilýärsiňizmi? Indi hemmelere şu makalanyň tekstine ýüz tutup, öz ýalňyşlyklarymy tapmaga mümkinçilik taparyn. Bolýar, maglumatlary siňdirmäge taýyn boluň we hekaýanyň akymyny yzarlamaga synanyşyň.

ASCII - latyn elipbiýi üçin esasy tekst kodlamagy

Tekst kodlamalarynyň ösüşi IT pudagynyň döremegi bilen bir wagtda bolup geçdi we bu döwürde olar köp üýtgeşmeleri başdan geçirdiler. Taryhy taýdan, bularyň hemmesi latyn elipbiýiniň harplaryny, arap sanlaryny we dyngy belgilerini dolandyryş nyşanlary bilen kodlamaga mümkinçilik berýän rus dilinde aýdylyşyna laýyk gelmeýän EBCDIC bilen başlandy. Şeýle-de bolsa, häzirki zaman tekst kodlamalaryny ösdürmegiň başlangyç nokadyny meşhur ASCII hasaplamaly (Maglumat alyşmak üçin Amerikan standart kody, rus dilinde adatça “sora” diýilýär). Iňlis dilinde gürleýän ulanyjylar tarapyndan iň köp ulanylýan ilkinji 128 simwoly - latyn harplaryny, arap sanlaryny we dyngy belgilerini suratlandyrýar. ASCII-de beýan edilen bu 128 simwol, ýaý, hash bellikleri, ýyldyzjyklar we ş.m. ýaly käbir hyzmat nyşanlaryny öz içine alýardy. Aslynda, olary özüňiz görüp bilersiňiz: Tekst kodlamagy ASCII (Windows 1251, CP866, KOI8-R) we icunikod (UTF 8, 16, 32) - krakerler bilen meseläni nädip çözmeli - 2ASCII-iň asyl wersiýasyndan şu 128 simwol standart boldy we beýleki kodlamalarda hökman olary taparsyňyz we olar bu tertipde peýda bolar. Theöne hakykat, bir baýt maglumatyň kömegi bilen 128 däl-de, 256 dürli bahany kodlap bilersiňiz (sekiz güýjüň ikisi 256 deňdir), şonuň üçin Asuka-nyň esasy wersiýasyndan soň giňeldilen ASCII kodlamalar tapgyry peýda boldy , bu mümkin bolan 128 esasy simwoldan başga-da milli kodlaýyş nyşanlaryny ulanyp kodlap bolýar (mysal üçin rus). Bu ýerde, düşündirişde ulanylýan san ulgamlary barada birneme köpräk aýdyp bileris. Ilki bilen, hemmäňiziň bilşiňiz ýaly, kompýuter diňe ikilik ulgamynda sanlar bilen işleýär, ýagny nol we sanlar bilen işleýär (“Boolean algebra”, kimdir biri institutda ýa-da mekdepde alan bolsa). Bir baýt sekiz bitden ybarat bolup, olaryň her biri noldan başlap, ikiden ýedinjä çenli ikisiniň güýjüne ikisini aňladýar: Tekst kodlamagy ASCII (Windows 1251, CP866, KOI8-R) we icunikod (UTF 8, 16, 32) - krakerler bilen meseläni nädip çözmeli - 3 Şeýle gurluşykdaky nollaryň we kombinasiýalaryň mümkin bolup biljekdigine düşünmek kyn däl. diňe 256 bolmaly. Ikili ulgamdan sanlary onluga öwürmek gaty ýönekeý. Diňe ikisiniň ähli güýjüni ýokardakylar bilen goşmaly. Mysalymyzda, bu 1 (nol güýjüne 2) we 8 (ikisi 3 güýje çenli), 32-e (ikisi bäşinji güýje), 64-e (altynjy güýje), 128-e çykýar. (ýedinji güýje). Jemi 233 onluk notada. Görşüňiz ýaly hemme zat gaty ýönekeý. Emma ASCII nyşanlary bilen tablisa ýakyndan göz aýlasaň, olaryň alty sanly kodlamada görkezilendigini görersiň. Mysal üçin, "ýyldyzjyk" Askidäki 2A alty sanly belgä gabat gelýär. Alty sanly san ulgamynda, arap sanlaryndan başga-da, A (on diýmek) -den F (on bäş manyny aňladýar) latyn harplarynyň hem ulanylýandygyny bilýän bolsaňyz gerek. Garaz, ikilik belgini altyburçlyga öwürmekaşakdaky ýönekeý usula ýüz tutuň. Her baýt maglumat dört bitden iki bölege bölünýär. Bular. Her ýarym baýtda diňe on alty baha (iki-dördünji güýç) ikili kodlanyp bilner, bu aňsatlyk bilen alty sanly san hökmünde görkezilip bilner. Mundan başga-da, baýtyň çep ýarysynda derejeler skrinshotda görkezilişi ýaly däl-de, noldan başlap sanalmaly bolar. Netijede, E9 belgisiniň skrinshotda kodlanandygyny görýäris. Pikirlerimiň we bu tapmanyň çözgüdi size düşnükli diýip umyt edýärin. Indi, geliň, aslynda tekst kodlamalary hakda gürleşeliň.

Pseudografiýa bilen Asuka - CP866 we KOI8-R kodlamalarynyň giňeldilen görnüşleri

Şeýlelik bilen, häzirki zaman kodlamalaryň (Windows 1251, Unicode, UTF 8) ösüşiniň başlangyç nokady bolan ASCII hakda gürleşip başladyk. Ilkibaşda latyn elipbiýiniň diňe 128 simwoly, arap sanlary we başga bir zat bardy, ýöne giňeldilen görnüşinde bir baýt maglumatda kodlanyp bilinjek 256 bahanyň hemmesini ulanmak mümkin boldy. Bular. Aski diliňize harplaryň nyşanlaryny goşmak mümkin boldy. Bu ýerde tekst kodlamalarynyň aslynda näme üçin zerurdygyny we näme üçin beýle möhümdigini düşündirmek üçin ýene bir gezek göz aýlamaly bolarys . Kompýuteriňiziň ekranyndaky nyşanlar iki zat - dürli nyşanlaryň wektor şekilleri (şekillendirişleri) (kompýuteriňize gurlan şriftler bilen faýllarda) we şol bir zady çykarmaga mümkinçilik berýän kod esasynda emele gelýär. wektor şekilleriniň toplumyndan (şrift faýly) gerek ýerinde goýulmaly nyşan. Şriftleriň wektor şekilleri üçin jogapkärdigi düşnüklidir, ýöne kodlamak üçin operasiýa ulgamy we onda ulanylýan programmalar jogapkärdir. Bular. Kompýuteriňizdäki islendik tekst baýtlaryň toplumy bolar, olaryň her biri bu tekstiň ýekeje nyşanyny kodlaýar. Bu teksti ekranda görkezýän programma (tekst redaktory, brauzer we ş.m.), kod derňelende indiki simwolyň kodlanmagyny okaýar we muny görkezmek üçin birikdirilen zerur şrift faýlynda degişli wektor görnüşini gözleýär. tekst resminamasy. Hemme zat ýönekeý we gadagan. Bu, bize gerek bolan islendik nyşany kodlamak üçin (mysal üçin, milli elipbiýden) iki şertiň berjaý edilmelidigini aňladýar: bu nyşanyň wektor görnüşi ulanylýan şriftde bolmaly we bu nyşan giňeldilen ASCII kodlamalarynda kodlanyp bilner. bir baýtda. Şonuň üçin şeýle wariantlaryň bir topary bar. Diňe rus dilindäki nyşanlary kodlamak üçin giňeldilen Askanyň birnäçe görnüşi bar. Mysal üçin, rus elipbiýindäki nyşanlary ulanmaga ukyply CP866 ilkibaşda peýda boldy we bu ASCII-iň giňeldilen görnüşi. Upperagny, onuň ýokarky bölegi ýokarda skrinshotda görkezilen Askanyň (128 latyn harpy, san we beýleki goshgy) esasy wersiýasyna doly gabat geldi, ýöne CP866 kodlamagy bilen stoluň aşaky bölegi görkezilen görnüşde bardy Aşakdaky skrinshot we ýene 128 simwoly kodlamaga rugsat berildi (rus harplary we her dürli pseudo-grafika): Tekst kodlamagy ASCII (Windows 1251, CP866, KOI8-R) we icunikod (UTF 8, 16, 32) - krakerler bilen meseläni nädip çözmeli - 4 Görýäňizmi, sag sütünde sanlar 8 bilen başlaýar, sebäbi 0-dan 7-e çenli sanlar ASCII-iň esasy bölegine degişlidir (ilkinji ekran suratyna serediň). Şeýlelik bilen, CP866-daky kiril harpynda bir baýt maglumat bilen ýazylyp bilinjek 9C kody bolar (degişli setiriň 9 bilen sütüniň we alty belgili san ulgamynda C belgisi bilen sütüniň kesişýän ýerinde ýerleşýär). we rus harplary bilen laýyk şrift bar bolsa, bu harp tekstde hiç hili kynçylyksyz peýda bolar. Bu mukdar nireden geldi?CP866-da pseudografiýa ? Pointhli zat, rus teksti üçin bu kodlamagyň, grafiki operasiýa ulgamlarynyň häzirki ýaly giňden ýaýramadyk şol ýyllarda işlenip düzülendigi. Dosa we şuňa meňzeş tekst operasiýa ulgamlarynda psevdografiýa iň bolmanda tekstleriň dizaýnyny diwersifikasiýa etmäge mümkinçilik berdi, şonuň üçin CP866 we Asuka-nyň giňeldilen wersiýalary kategoriýasyndaky beýleki deň-duşlary köp. CP866 IBM tarapyndan paýlandy, ýöne muňa goşmaça rus dilindäki nyşanlar üçin birnäçe kodlamalar işlenip düzüldi, mysal üçin, KOI8-R şol bir görnüşe (giňeldilen ASCII) degişli bolup biler : Tekst kodlamagy ASCII (Windows 1251, CP866, KOI8-R) we icunikod (UTF 8, 16, 32) - krakerler bilen meseläni nädip çözmeli - 5Işleýiş prinsipi öňküligine galýar birneme öň beýan edilen CP866-yňky - Tekstiň her bir nyşany bir baýt hökmünde kodlanýar. Ekranda KOI8-R tablisasynyň ikinji ýarymy görkezilýär, sebäbi birinji ýarym bu makalanyň birinji skrinshotynda görkezilen esasy Asuka bilen doly gabat gelýär. KOI8-R kodlamagyň aýratynlyklarynyň arasynda, tablisadaky kiril harplarynyň, CP866-da bolşy ýaly elipbiý tertibinde däldigini bellemek bolar. Ilkinji ekran suratyna seretseňiz (giňeldilen kodlamalaryň hemmesine girýän esasy bölekden), KOI8-R rus harplarynyň latyn elipbiýiniň degişli harplary bilen stoluň öýjüklerinde ýerleşýändigini görersiňiz. tablisanyň birinji bölüminden. Bu, rus dilinden latyn harplaryna diňe bir biti (iki ýedinji güýje ýa-da 128) taşlamak arkaly edildi.

Windows 1251 - ASCII-iň häzirki zaman wersiýasy we näme üçin çatryklar çykýar

Tekst kodlamalarynyň mundan beýläk-de ösdürilmegi grafiki operasiýa ulgamlarynyň meşhurlyga eýe bolmagy we olarda psevdografiýa ulanmak zerurlygy wagtyň geçmegi bilen ýitip gitdi. Netijede, Asukanyň henizem giňeldilen görnüşleri (tekstiň bir nyşany diňe bir baýt maglumat bilen kodlanýar), ýöne pseudografiki nyşanlary ulanman tutuş bir topar ýüze çykdy. Amerikan standartlary instituty tarapyndan işlenip düzülen ANSI kodlamalary diýlip atlandyryldy. Umuman aýdanyňda, rus diliniň goldawy bilen wersiýa üçin kiril ady hem ulanyldy. Muňa mysal hökmünde Windows 1251 bolup biler . Öň ulanylan CP866 we KOI8-R-den oňat tapawutlanýar, ondaky psevdografiki nyşanlaryň ornuny rus tipografiýasynyň ýiten nyşanlary (aksent belgisinden başga), şeýle hem slawýan dillerinde ýakyn nyşanlar alypdyr. Rusça ( Кодировка текста ASCII (Windows 1251, CP866, KOI8-R) и Юниcode (UTF 8, 16, 32) — How исправить проблему с кракозябрами - 6ukrain , belarus we ş.m. ). tekstde ulanylýan wersiýa bilen bulaşyklyk ýüze çykanda. E-poçta arkaly habar iberenlerinde we alanda, köplenç bu meseläni düýpgöter çözüp bilmeýän çylşyrymly öwrüliş tablisalarynyň döredilmegine sebäp bolýardy we köplenç ulanyjylar hat alyşmak üçin latyn harplarynyň transliterasiýasyny ulanýardylar. CP866, KOI8-R ýa-da Windows 1251 ýaly rus kodlamalaryny ulananyňyzda meşhur gybatlardan gaça duruň. Aslynda rus diliniň ýerine peýda bolan çatryklar, berlen diliň kodlaşdyrylmagynyň nädogry ulanylmagynyň netijesidir. tekst habary ilki kodlandy. Geliň, Windows 1251 kod tablisasyny ulanyp, CP866 ulanyp kodlanan nyşanlary görkezmäge synanyşsaňyz, habaryň tekstini düýbünden çalşyp, şol bir gümürtik (manysyz nyşan) çykar. Кодировка текста ASCII (Windows 1251, CP866, KOI8-R) и Юниcode (UTF 8, 16, 32) — How исправить проблему с кракозябрами - 7Web sahypalaryny, forumlary ýa-da bloglary döredeniňizde we guranyňyzda, rus harplary bilen tekst saýtda ulanylýan nädogry kodlamada ýa-da göze görünmeýän goşgy goşýan ýalňyş tekst redaktorynda ýalňyşlyk bilen saklananda şuňa meňzeş ýagdaý ýüze çykýar. ýalaňaç göz bilen koda. Netijede, köp adam kodlamakdan we yzygiderli siňdirmekden bu ýagdaýdan bizar boldy, bar bolanlaryň ornuny tutjak we okalmaýan tekstleriň peýda bolmagy bilen meseläni çözjek täze uniwersal üýtgeşmäniň döredilmegi üçin zerur şertler ýüze çykdy. . Mundan başga-da, 256-dan has köp dil ​​nyşanlary bolan hytaý ýaly diller meselesi bardy.

Icunikod - UTF 8, 16 we 32 uniwersal kodlamalar

Günorta-Gündogar Aziýa dil toparynyň bu müňlerçe nyşanlaryny ASCII-iň giňeldilen wersiýalarynda nyşanlary kodlamak üçin bölünip berlen bir baýt maglumat bilen düşündirip bolmaz. Netijede, uniwersal tekst kodlamasynyň döremegine gyzyklanýan köp sanly IT pudagynyň ýolbaşçylarynyň (programma üpjünçiligini öndürýän, enjamlary kodlaýan, şrift döredýän) hyzmatdaşlygy bilen “Unicode” (Unicode Consortium) atly konsorsium döredildi . “Unicode Consortium” -yň howandarlygynda çykan ilkinji üýtgeşiklik UTF 32 boldy . Kodlaşdyrma adyndaky san, bir nyşan kodlamak üçin ulanylýan bitleriň sanyny aňladýar. 32 bit täze uniwersal UTF kodlamasynda bir nyşan kodlamak üçin zerur 4 baýt maglumat deňdir. Netijede, ASCII-iň giňeldilen wersiýasynda we UTF-32 kodlanan tekstli şol bir faýl, ikinji ýagdaýda ululygy (agramy) dört esse uly bolar. Bu erbet, ýöne indi UTF-dan iki-otuz sekunt güýjüne deň bolan birnäçe nyşanlary kodlamaga mümkinçiligimiz bar ( hakykatdanam zerur bahany ägirt uly margin bilen örtjek milliardlarça nyşan ). Europeöne Europeanewropa toparynyň dilleri bolan köp ýurt kodlamakda beýle köp sanly nyşan ulanmaly däldi, ýöne UTF-32 ulanylanda hiç hili sebäpsiz tekst resminamalarynyň agramy dört esse ýokarlandy, we netijede internet trafiginiň we saklanýan maglumatlaryň göwrüminiň ýokarlanmagy. Bu gaty köp we beýle galyndylary hiç kim alyp bilmedi. “Unicode” -yň ösüşiniň netijesinde UTF-16 peýda boldy , şeýle bir üstünlikli boldy welin, ulanýan ähli nyşanlarymyzyň esasy meýdançasy hökmünde kabul edildi. Bir nyşan kodlamak üçin iki baýt ulanýar. Geliň, bu zadyň nähili görünýändigini göreliň. Windows operasiýa ulgamynda “Başlamak” - “Programmalar” - “Garnituralar” - “Ulgam gurallary” - “Nyşan tablisasy” ýollaryny yzarlap bilersiňiz. Netijede, ulgamyňyzda gurlan ähli şriftleriň wektor şekilleri bilen tablisa açylar. “Öňdebaryjy opsiýalar” -da “icunikod” nyşanyny saýlasaňyz, her şrift üçin içindäki nyşanlaryň ähli diapazonyny aýratyn görüp bilersiňiz. Theeri gelende aýtsak, olaryň haýsydyr birine basmak bilen, dört alty sanly sanlardan ybarat UTF-16 formatda iki baýtlyk kody görüp bilersiňiz:Кодировка текста ASCII (Windows 1251, CP866, KOI8-R) и Юниcode (UTF 8, 16, 32) — How исправить проблему с кракозябрами - 816 bit ulanyp UTF-16-da näçe simwoly kodlap bolýar? 65,536 (on alty güýje çenli) we bu “Unicode” -da esasy giňişlik hökmünde kabul edilen san. Mundan başga-da, ony ulanyp, takmynan iki million simwoly kodlamagyň ýollary bar, ýöne olar bir million simwoldan ybarat giňişlik bilen çäklendirildi. Emma “Unicode” kodlamagyň bu üstünlikli wersiýasy diňe iňlis dilinde programma ýazanlara kanagatlanma getirmedi, sebäbi ASCII-iň giňeldilen wersiýasyndan UTF-16-a geçensoň, resminamalaryň agramy iki esse artdy (baýt üçin bir baýt) Aski harpy we YUTF-16-da şol bir nyşan üçin iki baýt). “Unicode” konsorsiumynyň hemme kişisini we hemme zady kanagatlandyrmak üçin üýtgeýän uzynlykly kodlamak kararyna gelindi . Oňa UTF-8 diýilýärdi. Adyndaky sekizlige garamazdan, aslynda üýtgeýän uzynlygy bar, ýagny Tekstiň her bir nyşany, uzynlygy bir-alty baýt yzygiderlilikde kodlanyp bilner. Iş ýüzünde, UTF-8 diapazony diňe bir baýtdan dört baýt aralygynda ulanýar, sebäbi dört baýtdan köp kod indi teoretiki taýdan hiç zady göz öňüne getirip bolmaýar. Ondaky ähli latyn harplary, edil köne ASCII-de bolşy ýaly bir baýtda kodlanýar. Bellemeli zat, diňe latyn elipbiýini kodlamak meselesinde, hatda icunikoda düşünmeýän programmalar hem YTF-8-de kodlananlary okar. Asagny, Asukanyň esasy bölegi diňe icunikod konsorsiumynyň beýnisine geçirildi. UTF-8-de kiril nyşanlary iki baýtda, mysal üçin, gürji nyşanlary üç baýtda kodlanýar. Unicode Konsorsiumy, UTF 16 we 8 döredeninden soň esasy meseläni çözdi - indi şriftlerimizde ýekeje kod boşlugy bar . Indi öndürijiler ony diňe güýçli we mümkinçiliklerine baglylykda tekst nyşanlarynyň wektor görnüşleri bilen dolduryp bilerler. Aboveokardaky “Nyşanlar tablisasynda” dürli şriftleriň dürli belgileri goldaýandygyny görüp bilersiňiz. Käbir icunikoda baý şriftler gaty agyr bolup biler. Nowöne indi olar dürli kodlamalar üçin döredilendigi bilen däl-de, şrift öndürijisiniň ýeke kod giňişligini belli bir wektor görnüşleri bilen doldurandygy ýa-da doly doldurmandygy bilen tapawutlanýar.

Rus harplarynyň ýerine däli sözler - nädip düzetmeli

Indi tekstiň ýerine krakozyabrlaryň nähili peýda bolýandygyny ýa-da başgaça aýdylanda rus teksti üçin dogry kodlamagyň nädip saýlanandygyny göreliň. Aslynda, bu teksti döredýän ýa-da redaktirlän programmaňyzda ýa-da tekst böleklerini ulanyp kod düzülýär. Tekst faýllaryny redaktirlemek we döretmek üçin, meniň pikirimçe, Html we PHP redaktory Notepad ++ gaty gowy ulanýaryn . Şeýle-de bolsa, başga-da ýüzlerçe programmirleme we bellik dilleriniň sintaksisini görkezip biler, şeýle hem plaginleri ulanyp giňeltmek ukybyna eýe. Berlen baglanyşykda bu ajaýyp programmanyň jikme-jik synyny okaň. “Notepad ++” -yň ýokarky menýusynda “Kodlamak” elementi bar, bu ýerde bar bolan opsiýany sahypaňyzda ulanylýan görnüşe öwürmek mümkinçiligi bolar: Кодировка текста ASCII (Windows 1251, CP866, KOI8-R) и Юниcode (UTF 8, 16, 32) — How исправить проблему с кракозябрами - 9Joomla 1.5-de we has ýokary sahypada bolşy ýaly WordPress-de blog bolan ýagdaýynda, Krakozýabrowyň BOM bolmasa UTF 8 görnüşini saýlamagyndan gaça durmaly . BOM prefiksi näme? Hakykat, YUTF-16 kodlamagy ösdürenlerinde, nämüçindir nyşan koduny göni yzygiderlilikde (mysal üçin 0A15) we tersine (150A) ýazmak ukyby ýaly bir zat birikdirmek kararyna geldiler. . Programmalaryň kodlary haýsy yzygiderlilikde okamalydygyna düşünmek üçin resminamalaryň başyna üç goşmaça baýt goşmak bilen aňladylýan BOM (Baýt Sargyt belgisi ýa-da başgaça aýdylanda gol) oýlanyp tapyldy. UTF-8 kodlamasynda, icunikod konsorsiumynda BOM göz öňünde tutulmady we şonuň üçin gol goşmak (resminamanyň başynda goşmaça üç baýt) käbir programmalaryň kod okamagynyň öňüni alýar. Şonuň üçin UTF-da faýllary ýatda saklanda, elmydama BOM bolmasa (golsyz) opsiýany saýlamalydyrys. Şeýlelik bilen, krakozyabrlaryň süýrenmeginden öňünden gorarsyňyz . Bellemeli zat, Windows-daky käbir programmalar muny edip bilmeýärler (UTF-8-de BOM bolmasa tekst ýazdyryp bilmeýärler), mysal üçin, şol bir meşhur Windows Notepad. Resminamany UTF-8-de ýatda saklaýar, ýöne başyna gol (üç goşmaça baýt) goşýar. Mundan başga-da, bu baýtlar hemişe birmeňzeş bolar - kody göni yzygiderlilikde okaň. Emma serwerlerde bu kiçijik zat sebäpli bir mesele ýüze çykyp biler - egriler çykar. Şonuň üçin islendik şertde yzygiderli Windows Notepad ulanmaň .haýsydyr bir çatryklaryň peýda bolmagyny islemeýän bolsaňyz, sahypaňyzdaky resminamalary redaktirlemek. Alreadyokarda agzalan Notepad ++ redaktoryny iň oňat we iň ýönekeý warianty hasaplaýaryn, hiç hili kemçiligi ýok we diňe artykmaçlyklardan ybarat. Notepad ++ -da kodlamagy saýlanyňyzda, teksti UCS-2 kodlamaga öwürip bilersiňiz, bu tebigatda icunikod standartyna gaty ýakyn. Şeýle hem Notepad-da ANSI-de tekst kodlamak mümkin bolar. Rus dili bilen baglanyşykly, ýokarda beýan eden Windows 1251 bolar. Bu maglumatlar nireden gelýär? Windows operasiýa ulgamyňyzyň sanawynda hasaba alyndy - ANSI ýagdaýynda saýlamaly, OEM ýagdaýynda saýlamaly (rus dili üçin CP866 bolar). Kompýuteriňizde başga bir başlangyç dil goýsaňyz, bu kodlamalar şol bir dil üçin ANSI ýa-da OEM kategoriýasyna meňzeşler bilen çalşyrylar. Resminamany zerur kodlamakda Notepad ++ -da ýazdyranyňyzdan ýa-da resminamany redaktirlemek üçin sahypadan açanyňyzdan soň, adyny redaktoryň aşaky sag burçunda görüp bilersiňiz: aboveokarda beýan edilen ädimlere goşmaça Кодировка текста ASCII (Windows 1251, CP866, KOI8-R) и Юниcode (UTF 8, 16, 32) — How исправить проблему с кракозябрами - 10bulaşyklygyň öňüni almak üçin , serwerde ýa-da ýerli hostda hiç hili bulaşyklyk bolmazlygy üçin deslapky kody sözbaşysyna sahypanyň ähli sahypalarynda bu kodlamak hakda maglumat ýazmak peýdaly bolar. Umuman aýdanyňda, Html-den başga ähli gipertekst bellik dilleri, tekst kodlamagyny kesgitleýän ýörite xml deklarasiýasyny ulanýar.
<?xml version="1.0" encoding="windows-1251"?>
Kody derňemezden ozal, brauzer haýsy wersiýanyň ulanylýandygyny we şol diliň nyşan kodlaryny nädip düşündirmelidigini bilýär. Notöne bellemeli zat, resminamany “Unicode” -da ýatda saklasaňyz, bu xml deklarasiýasy aýrylyp bilner (BOM ýok bolsa kodlamak UTF-8 hasaplanar). HTML resminamasy bolan ýagdaýynda, Meta elementi açylyş we ýapylýan Baş bellikleriniň arasynda ýerleşdirilen kodlamagy görkezmek üçin ulanylýar:
<head>
...
<meta charset="utf-8">
...
</head>
Bu ýazgy Html 4.01 standartyndan düýpgöter tapawutlanýar, ýöne Html 5 standartyna doly laýyk gelýär we häzirki ulanylýan brauzerler tarapyndan dogry düşüniler. Teoriýa boýunça, Html resminamasynyň kodlanmagyny görkezýän Meta elementi, resminamanyň sözbaşysyna mümkin boldugyça has ýokary ýerleşdiriler , şeýlelik bilen tekst esasy ANSI-den däl (hemişe dogry we okalýan) islendik üýtgeşiklik), brauzerde bu nyşanlaryň kodlaryny nädip düşündirýändigi barada eýýäm maglumat bolmaly. Asyl çeşmä baglanyşyk: ASCII tekst kodlamagy (Windows 1251, CP866, KOI8-R) we icunikod (UTF 8, 16, 32) - krakerler bilen meseläni nädip çözmeli
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION