Internet Derazalar Android
Kengaytirmoq

Koi8-r Enoding. Qaysi koi8-r kodlash va u nima berdi? Koi 8 ruscha versiyasi

Koi8-r Encoding

ISO 8859-5 kodlash

ISO 8859-5

Muqobil kodlash

"Muqobil kodlash" - CP437 Kod sahifasi asosida ikkinchi yarmida barcha ayrim evropalik belgilar kirill va psevdografik belgilarni qoldirib kirillcha bilan almashtiriladi. Binobarin, bu matn derazalari yordamida dasturlarning turini buzmaydi va ularda kirill belgilaridan foydalanishni ta'minlaydi.

Tarixan, ko'plab muqobil kodlash variantlari mavjud edi, ammo barcha farqlar faqat 0xf0 - 0XFF mintaqasi (240-255) ga tegishli. Yakuniy standarti IBM CP866 kodlash, uning qo'llab-quvvatlashi MS-DOS 6.22-ga qo'shilgan (har xil "o'z-o'zidan tayyorlangan" yoriqlari qo'shildi. Muqobil kodlash hali ham tirik va OSS va OS / 2 muhitida juda mashhur . Bundan tashqari, ushbu kodlash BM nomlari yozilgan. fayl tizimi Yog '. CP866 haligacha rezinli Windows NT oilaviy tizimlarining konsolida qo'llaniladi.

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A.A. .B .C.C. .D. .E.e. .F.
8. 410. B 411. 412 yilda. G 413. D 414. E 415. 416. S 417. Va 418. Th 419. 41a gacha. L 41b. M 41c. H 41D. O 41E. P 41F.
9. R 420 421 bilan. T 422. 423. F 424 X 425. C 426. H 427. W 428. ShCh 429. "Kommersant 42a". 42b. B 42C. E 42d. YU 42E. Men 42f.
A. 430. B 431. 432 yilda. G 433. D 434. E 435. 2036 yil. S 437. va 438. Th 439. 43a gacha. L 43b. m 43C. H 43D. Taxminan 43E. p 43F.
B. ░ 2591 ▒ 2592 ▓ 2593 │ 2502 ┤ 2524 ╡ 2561 ╢ 2562 ╖ 2556 ╕ 2555 ╣ 2563 ║ 2551 ╗ 2557 ╝ 255d. ╜ 255C. ╛ 255B. ┐ 2510
C. └ 2514 ┴ 2534. ┬ 252C. ├ 251c. ─ 2500 ┼ 253C. ╞ 255e. ╟ 255F. ※ 255a. ╔ 2554 ╩ 2569 ╦ 2566 ╠ 2560 ═ 2550 ╬ 256C. ╧ 2567
D. ╨ 2568 ╤ 2564 ╥ 2565 ╙ 2559 ╘ 2558 ╒ 2552 ╓ 2553 ╫ 256b. ╪ 256a. ┘ 2518 ┌ 250C. █ 2588 ▄ 2584 ▌ 258C. ▐ 2590 ▀ 2580
E. P 440. 441 yildan. T 442. 443 yilda. F 444. x 445. C 446. H 447. Sh 448. ShCh 449. "Kommersant 44a". s 44b. B 44C. E4d. YU 44E. Men 44f
F. E 3001. Jo 451. Є 404. є 454. Ї 407. ї 457. URUM. U: 45E. ° B0. ∙ 2219 · Bas. √ 221a. № 2116 ¤ A4. ■ 25A0. A0.

Shuning uchun 8859-5 - kirill yozuvini yozish uchun ISO-8859 seriyasidan 8 bitli kodlash. Rossiyada deyarli ishlatilmaydi. Umuman olganda, ISO 8859-5 juda qulay kodlanmaydi, chunki u ko'p emas belgilar, masalan, tire (-), bo'g'imlar (""), daraja (°) va boshqalar kabi.



.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A.A. .B .C.C. .D. .E.e. .F.
8. 80 81 82 83 84 85 86 87 88 89 8a. 8b. 8C. 8D. 8E. 8F.
9. 90 91 92 93 94 95 96 97 98 99 9A. 9b. 9c. 9d. 9E. 9f.
A. A0. E 3001. 402 evrodan 402 evro. Ѓ 403. Є 404. @ 405. 406-son. Ї 407. Ј 408. Љ 409. ① 40A ① 40b. Ќ 40c. Reklama URUM. Џ 40F.
B. 410. B 411. 412 yilda. G 413. D 414. E 415. 416. S 417. Va 418. Th 419. 41a gacha. L 41b. M 41c. H 41D. O 41E. P 41F.
C. R 420 421 bilan. T 422. 423. F 424 X 425. C 426. H 427. W 428. ShCh 429. "Kommersant 42a". 42b. B 42C. E 42d. YU 42E. Men 42f.
D. 430. B 431. 432 yilda. G 433. D 434. E 435. 2036 yil. S 437. va 438. Th 439. 43a gacha. L 43b. m 43C. H 43D. Taxminan 43E. p 43F.
E. P 440. 441 yildan. T 442. 443 yilda. F 444. x 445. C 446. H 447. Sh 448. ShCh 449. "Kommersant 44a". s 44b. B 44C. E4d. YU 44E. Men 44f
F. № 2116 Jo 451. 452. ѓ 453. є 454. @ 455. 456. ї 457. ј 458. љ 459. њ 45a. ћ 45b. ќ 45C. § A7. U: 45E. џ 45F.

Koi-8 (Axborot almashish kodi, 8 bit), koi8 - Informatsion Sakkizta bellik kodlash standarti. Kirill alifbo harflarini kodlash uchun mo'ljallangan. Shuningdek, kodlash versiyasining etti bitli versiyasi mavjud - Koi-7. Koi-7 va Koi-8 GOST 19768-74 da tasvirlangan (endi yaroqsiz).

Koi-8 Dasturchilar Cyilill belgilari pozitsiyasining yuqori qismida joylashgan Accii jadvalining belgilarini, stolning pastki qismidagi fonietik o'xshashliklarga mos keladigan tarzda o'rnatilgan. Bu shuni anglatadiki, agar KOI-8-da yozilgan matnda har bir belgining sakkizdan bir qismini olib tashlash uchun, keyin u lotin belgilari bilan yozilgan bo'lsa-da, "o'qiladigan" matn paydo bo'ladi. Masalan, "Rus matni" so'zlari "Russsion Tekst" so'zlariga aylanadi. Yon ta'siri sifatida kirillning ramzlari alifbo tartibida tashkil etiladi.

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A.A. .B .C.C. .D. .E.e. .F.
8. ─ 2500 │ 2502 ┌ 250C. ┐ 2510 └ 2514 ┘ 2518 ├ 251c. ┤ 2524 ┬ 252C. ┴ 2534. ┼ 253C. ▀ 2580 ▄ 2584 █ 2588 ▌ 258C. ▐ 2590
9. ░ 2591 ▒ 2592 ▓ 2593 ⌠ 2320 ■ 25A0. ∙ 2219 √ 221a. ≈ 2248 ≤ 2264 ≥ 2265 A0. ⌡ 2321 ° B0. ² B2. · Bas. ∴ F7.
A. ═ 2550 ║ 2551 ╒ 2552 Jo 451. ╓ 2553 ╔ 2554 ╕ 2555 ╖ 2556 ╗ 2557 ╘ 2558 ╙ 2559 ※ 255a. ╛ 255B. ╜ 255C. ╝ 255d. ╞ 255e.
B. ╟ 255F. ╠ 2560 ╡ 2561 E 3001. ╢ 2562 ╣ 2563 ╤ 2564 ╥ 2565 ╦ 2566 ╧ 2567 ╨ 2568 ╩ 2569 ╪ 256a. ╫ 256b. ╬ 256C. © A9.
C. YU 44E. 430. B 431. C 446. D 434. E 435. F 444. G 433. x 445. va 438. Th 439. 43a gacha. L 43b. m 43C. H 43D. Taxminan 43E.
D. p 43F. Men 44f P 440. 441 yildan. T 442. 443 yilda. 2036 yil. 432 yilda. B 44C. s 44b. S 437. Sh 448. E4d. ShCh 449. H 447. "Kommersant 44a".
E. YU 42E. 410. B 411. C 426. D 414. E 415. F 424 G 413. X 425. Va 418. Th 419. 41a gacha. L 41b. M 41c. H 41D. O 41E.
F. P 41F. Men 42f. R 420 421 bilan. T 422. 423. 416. 412 yilda. B 42C. 42b. S 417. W 428. E 42d. ShCh 429. H 427. "Kommersant 42a".

Koi8-u kodlash (Ukrain tili)

Koi-8 (Axborot almashish kodi, 8 bit), koi8 - Informatsion Sakkizta bellik kodlash standarti. Kirill alifbo harflarini kodlash uchun mo'ljallangan. Shuningdek, kodlash versiyasining etti bitli versiyasi mavjud - Koi-7. Koi-7 va Koi-8 GOST 19768-74 da tasvirlangan (endi yaroqsiz).

Koi-8 Dasturchilar Cyilill belgilari pozitsiyasining yuqori qismida joylashgan Accii jadvalining belgilarini, stolning pastki qismidagi fonietik o'xshashliklarga mos keladigan tarzda o'rnatilgan. Bu shuni anglatadiki, agar KOI-8-da yozilgan matnda har bir belgining sakkizdan bir qismini olib tashlash uchun, keyin u lotin belgilari bilan yozilgan bo'lsa-da, "o'qiladigan" matn paydo bo'ladi. Masalan, "Rus matni" so'zlari "Russsion Tekst" so'zlariga aylanadi. Yon ta'siri sifatida kirillning ramzlari alifbo tartibida tashkil etiladi.

Koi8-r Encoding

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A.A. .B .C.C. .D. .E.e. .F.

8.

2500

2502

250C.

2510

2514

2518

251C.

2524

252C.

2534

253C.

2580

2584

2588

258C.

2590

9.

2591

2592

2593

2320

25A0.

2219

221a.

2248

2264

2265

A0.

2321
°
B0.
²
B2.
·
B7.
÷
F7.

A.

2550

2551

2552
e.
451

2553

2554

2555

2556

2557

2558

2559

255A.

255b

255C.

255D.

255E.

B.

255F.

2560

2561
E.
401

2562

2563

2564

2565

2566

2567

2568

2569

256a.

256b.

256C.
©
A9.

C.
yu
44E.
lekin
430
b.
431
c.
446
d.
434
e.
435
f.
444
g.
433
h.
445
va
438
j.
439
ga
43a.
l.
43b.
m.
43C.
n.
43D.
haqida
43E.

D.
pechka
43F.
men
44F.
r
440
dan
441
t.
442
w.
443
j.
436
ichida
432
b
44C.
s
44b.
z.
437
shilmoq
448
e.
44D.
shilmoq
449
c.
447
kommerion
44a.

E.
Yu
42E.
Lekin
410
B.
411
C.
426
D.
414
E.
415
F.
424
G.
413
H.
425
Va
418
J.
419
Ga
41a.
L.
41b.
M.
41c.
N.
41d.
Haqida
41E.

F.
Pechka
41F.
Men
42F.
R
420
Dan
421
T.
422
W.
423
J.
416
Ichida
412
B
42C.
S
42b.
Z.
417
Shilmoq
428
E.
42D.
Shilmoq
429
C.
427
Kommerion
42a.
>

Koi8-u kodlash (Ukrain tili)

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A.A. .B .C.C. .D. .E.e. .F.

A.

2550

2551

2552
e.
451
є
454

2554
і
456
ї
457

2557

2558

2559

255A.

255b
ґ
491

255D.

255E.

B.

255F.

2560

2561
E.
401
Є
404

2563
І
406
Ї
407

2566

2567

2568

2569

256a.
Ґ
490

256C.
©
A9.

Bugun biz siz bilan Krakoyorbra qaerdan va dasturlar bilan tanishish haqida gaplashamiz, ular qaysi matnli kodlar mavjud va qaysi biri ishlatilishi kerak. Keling, ularning rivojlanish tarixi, shuningdek, CP866, KOI8-R, Windows 1251 va Unicode UTF 16 va 8 ta konsorsiumining kengaytirilgan versiyalarini batafsil ko'rib chiqaylik. Mundarija: Kimdir bu ma'lumot keraksiz ko'rinishi mumkin, ammo siz qanday savollar paydo bo'lishini bilib olasiz (belgilar to'plamini o'qimaslik). Endi men barchani ushbu maqolaning matniga yuborish imkoniga ega bo'laman va sizning shoallaringizni mustaqil ravishda qidiraman. Xo'sh, ma'lumotni o'zlashtirishga tayyorlaning va rivoyatni kuzatishga harakat qiling.

ASCII - Latiza matn kodlashi

Matnli kodlarning rivojlanishi uni sanoatning shakllanishi bilan bir vaqtda va shu vaqt ichida ular juda oz sonli o'zgarishlarga duch kelishdi. Tarixan, barchasi EBCDICning talaffuzida zararli bo'lgan, bu lotin alifbosidagi harflarni, hujayra alifbosidagi harflarni, arab raqamlari va tinish belgilarini boshqarish belgilari bilan kodlash imkonini berdi. Ammo baribir zamonaviy matnli kodlarni rivojlantirishning boshlanish nuqtasi mashhur deb hisoblanishi kerak ASCII. (Amerikaning standart kodi Ma'lumot almashish.odatda rus tilida odatda "ASSI" deb e'lon qilinadi. U eng ko'p ishlatiladigan ingliz tilida so'zlashadigan foydalanuvchilar - lotin harflari, arab raqamlari va tinish belgilarining dastlabki 128 belgidan iborat tasvirlangan. ASCII-da tasvirlangan 128 ta belgidan ham, xizmat ko'rsatish belgilari qavslar, panjara, yulduzchalar va boshqalar tomonidan maydalangan. Aslida, siz ularni ko'rasiz:
Bu ASCIIning dastlabki versiyasidan 128 belgidan iborat standart bo'lib qoldi va boshqa kodlashda siz albatta uchrashasiz va ular shunday munosabatda bo'lasiz. Ammo haqiqat shundaki, bu ma'lumotning bir bayti bilan 128 ta emas, balki 256 xil qiymatlar (ikkitadan sakkiz darajagacha) 256 ga teng) baza versiyasi Aski bir qator paydo bo'ldi advanced Kodods ASCII128 ta asosiy belgilar, shuningdek, milliy kodlash belgilarini (masalan, rus) kodlashi mumkin edi. Bu erda, ehtimol, tavsifda ishlatiladigan raqam tizimi haqida biroz ko'proq narsa. Birinchidan, hamma narsani bilganingizdek, kompyuterda faqat institutda yoki maktabda yoki maktabda o'tkazilgan bo'lsa, nol va birliklar bilan birga ishlaydi ("Bolvev Algebra" bilan ishlaydi. Bitta bayt sakkiz bitdan iborat, ularning har biri noldan boshlanadigan va ettinchi darajadan boshlab bir darajaga, ikki baravar ko'p:
Bunday dizaynda nol va dizayndagi barcha mumkin bo'lgan kombinatsiyalar faqat 256 bo'lishi mumkinligini tushunish qiyin emas. Ikkilik tizimdan o'nlik tizimdan tarjima qiling. Yuqoridagi burilishlarning barcha darajalarini bitta stendning barcha darajasini belgilash kerak. Bizning misolda, u 1 (ikki darajagacha), plyus 32 (beshinchi darajasida ikki marta), shuningdek, 128 (ettinchi darajasida) . O'nlik raqamli tizimda 233 oladi. Ko'rinib turibdiki, hamma narsa juda oddiy. Ammo agar siz stolga qarasangiz aSCII ramzi.Siz ularni o'n oltilik kodlashda taqdim etilganligini ko'rasiz. Masalan, "yulduzcha" 2a raqamining jannatiga to'g'ri keladi. Ehtimol, bilasizki, siz olti miqdordagi tizim tizimida (o'rtacha o'n) dan f (o'rtacha o'nta) gacha bo'lgan lotin harflari (o'n besh) raqamli tizimda ishlatiladi. Xo'sh, bu uchun o'tkazmoq ikkilik raqamlar Xekaduaryada Keyingi sodda va vizual tarzda murojaat qiling. Har bir ma'lumotdan iborat ma'lumot to'rtta bitning ikki qismida, yuqoridagi skrinshotda ko'rsatilganidek, to'rtta bitdan iborat. Shunday qilib Har ikki baytning yarmida ikkilik kod Siz faqat o'n olti qiymatni (to'rtinchi darajali ikkita) kodlashingiz mumkin, bu esa o'n oltinchi darajali raqam bilan osonlikcha namoyish etiladi. Bundan tashqari, baytning chap yarmida, skrinshotda ko'rsatilgandek emas, balki uni noldan hisobga olish kerak bo'ladi. Natijada, yaxshi hisoblash orqali e9 raqami skrinshotda kodlanganligini olamiz. Umid qilamanki, bu mening mulohazalarim va bu tanqoning qotib qolganligingiz tushunarli. Xo'sh, endi biz matn kodlashi haqida gapirib, davom etamiz.

Aski - CP866 va koi8-r kodlashning kengaytirilgan versiyalari

Shunday qilib, biz ASCII haqida gapirishni boshladik, bu barcha zamonaviy kodlanishlar (Windows 1251, Unicode, UTF 8) bo'lgan. Dastlab, u faqat 128 ta lotin alifbosi, arab raqamlari va u erda boshqa narsa yotqizilgan, ammo kengaytirilgan versiyada bitta pate ma'lumotlarida kodlangan barcha 256 qiymatdan foydalanish mumkin edi. Ular. Tilning so'zlarining ramzlarini Ata-Ata-ga qo'shish imkoniyati. Bu erda yana bir bor aniqlashtirish uchun chalg'itilishi kerak bo'ladi - nega sizga matn kodlash kerak? Va nima uchun bu juda muhim. Kompyuteringiz ekranidagi belgilar ikkita narsa asosida shakllanadi - barcha turdagi belgilar (ular kompyuteringizda o'rnatilgan shriftlar bilan fayllarda) va ularni tortib olishga imkon beradigan kodlar mavjud Ushbu vektor shakllari to'plami (shrift fayli) Siz kerakli joyda joylashtirmoqchi bo'lgan belgi. Shriftlar vektor shakllari uchun javobgardir, ammo unda ishlatiladigan operatsion tizim va dasturlar kodlash uchun javobgardir. Ular. Kompyuteringizdagi har qanday matn har birida, bu matnning bir qismi kodlangan. Ushbu matnni ekranda ko'rsatadigan dastur (matn muharriri, brauzer, brauzer va boshqalar), keyingi belgi kodini o'qiydi va tegishli vektor shaklini qidiradi kerakli fayl Ushbu matn hujjatini namoyish qilish uchun ulangan shrift. Hammasi oddiy va tatbiq. Shunday qilib, biz kerakli har qanday belgini (masalan, milliy alifboflashtirish uchun) kodlash uchun, ikkita shart tugashi kerak - bu belgi shaklida ishlatiladigan shriftda bo'lishi kerak va bu belgi qadar bitta shriftda bitta baytga kengaytirilishi mumkin . Shuning uchun bunday variantlarning umuman bir guruhi bor. Faqat rus tilidagi belgilarni kodlash uchun kengaytirilgan eshaklarning bir nechta navlari mavjud. Masalan, dastlab paydo bo'ldi CP866.Unda rus alifbosining belgilaridan foydalanish mumkin edi va u ASCIIning kengaytirilgan versiyasi edi. Ular. Uning yuqori qismi Aska-ning asosiy versiyasiga (Lotin, raqamlar va boshqa hech kimning 128 ramzi), u bir oz yuqoriroq berilgan, ammo allaqachon pastki qism CP866 kodlash jadvallari skrinshotda bir oz pastroq bo'lgan va yana 128 ta belgidan iborat bo'lgan (rus harflari va psevdografik) kodlangan edi:
Qarang, o'ng ustunda raqamlar 8 dan boshlanadi, chunki 0 dan 7 gacha bo'lgan raqamlar ASCIIning asosiy qismiga murojaat qiladi (birinchi ekran rasmiga qarang). Shunday qilib Rossiyaning "M" harfi CP866 kodida 9c kodiga ega bo'ladi (9 ta vall bo'lganlar) bir baytdagi ma'lumotlarda yozilishi mumkin, agar bo'lsa Rus qahramonlari bilan mos keladigan shrift mavjud, bu xat matnda muammosiz ko'rinadi. Bu miqdor qayerdan kelib chiqqan cP866-da psudografers.? Hozirgi paytda bu yorqin yillarda rus tilida ushbu kodlash hozirda grafik operatsion tizimlarning bunday taqsimlanmaganligi sababli ishlab chiqilganligi barchasida. Va DOSS va shunga o'xshash matnli operatsiyalarda, hech bo'lmaganda qandaydir qandaydir tarzda matnlar differsiyasini diversifikatsiya qilishga ruxsat berilgan va shuning uchun u Aska versiyalarini amalga oshirgan holda, CP866 va boshqa barcha qatorlar. CP866 tarqatilgan IBM kompaniyasi, ammo qo'shimcha ravishda, bir qator kodlar rus tilining belgilari uchun bir qator kodlar ishlab chiqilgan, masalan, bir xil turdagi (kengaytirilgan ASCII) bog'liq bo'lishi mumkin Koi8-r.:
Uning ishining printsipi keyinchalik tavsiflangan CP866 bilan bir xil bo'lib qoldi - har bir matn belgisi bitta bayt bilan kodlanadi. Skrinshot koi8-jadvalning ikkinchi yarmini ko'rsatadi, chunki Birinchi bo'lim ushbu moddadagi birinchi ekranda ko'rsatilgan ASUS bazasi bilan to'liq mos keladi. Koi8-r Encoding xususiyatlari orasida ta'kidlash mumkinki, uning stolidagi rus harflari alifbo tartibida emas, masalan, CP866-da ishlab chiqarilgan. Agar siz birinchi skrinshotga qarasangiz, KOI8-R-larda, rus harflari birinchi qismidan lotin alifbosidagi harflar sifatida jadvalning bir xil stollarida joylashganligini xabar qiling stol. Bu rus ruslarini lotin tilidan uzatish uchun faqat bitta bitni olib tashlash orqali latinga o'tish uchun qilingan (ikki yoki 128).

Windows 1251 - ASCII ning zamonaviy versiyasi va nima uchun crackels chiqadi

Matnli kodlarni yanada rivojlantirish grafik operatsion tizimlar va ularda psevdografikadan foydalanish zarurligi ommalashdi. Natijada, butun guruh o'z mohiyatiga ko'ra, hali ham Aski versiyalari bor edi (bitta matn belgisi faqat bitta ma'lumotdan faqat bitta ma'lumotga ega), ammo psevdografik belgilardan foydalanmasdan. Ular Amerika standartlashtirish instituti tomonidan ishlab chiqilgan Ansi kodlash deb nomlangan. Kirillning nomi hanuzgacha rus tilini qo'llab-quvvatlash bilan variantini olish uchun ishlatilgan. Masalan, ularga xizmat qilishi mumkin Windows 1251.. Oldindan ishlatiladigan CP866 va Koi8-Ruxsatdan foydalanib, unda rus tilida tipografiyaning yo'qolgan belgilari, shuningdek, rus salaviyasiga yaqin bo'lgan belgilar mavjud edi Tillar (Ukraina, belorus va boshqalar):
Ushbu mo'l-ko'llikning mo'lligi, shriftlar va ishlab chiqaruvchilarning ishlab chiqaruvchilari dasturiy ta'minot U doimo bosh og'rig'i, aziz o'quvchilar, aziz o'quvchilar, ko'pincha eng taniqli bo'lganlardir krakoyabrySardoqlikka chalinganida matnda ishlatiladigan versiya bilan o'rgatilganda. Ko'pincha ular xabarlarni yuborish va qabul qilishda chiqishadi elektron pochtaAslida bu muammoni ildizda hal qila olmaydigan juda murakkab kompleks stollarni yaratishga nima sabab bo'ldi, ular CP866, Koi8-R yoki Windows-dan foydalanish uchun mashhur krokozzazlardan saqlanish uchun, ular bilan qoplangan Krokozzyablarni oldini olish uchun ishlatiladi 1251. Aslida, rus tilida aytib o'tilgan Krakoyorbra kodlanishning noto'g'ri ishlatilishi natijasi bo'ldi bu tildanMatnli xabar dastlab kodlanganiga mos kelmadi. Agar CP866 bilan kodlangan belgilar "Windows 1251" kodi jadvali yordamida displeyni namoyish qilishga harakat qiling va xabar matnini to'liq almashtirishga harakat qiling.
Shunga o'xshash vaziyat ko'pincha saytlar, forumlar yoki bloglarni yaratishda, rus belgilari bilan matnni xato bilan xato qilishda, asl veb-saytda ishlatilgan kodlashda saqlanmaydi matn muharririyalang'och ko'zga ko'rinmaydigan sebestin kodini qo'shadi. Oxir-oqibat, ko'plab kododlar va doimiy ravishda ekinzorlar bo'lgan holatlar, ko'p charchagan holda, yangi universal o'zgarishni yaratish uchun zarur bo'lgan va nihoyat, muammolarning paydo bo'lishi bilan almashtiriladigan yangiversal o'zgarishlarni yaratish uchun zaruriydirlar mavjud edi O'qishli matnlar. Bundan tashqari, shunga o'xshash xitoy tillarida bo'lgan tillar mavjud bo'lib, ularda til belgilari 256 dan oshiq bo'lgan.

Unicode (Unicode) - UTF 8, 16 va 32 Universal kodlari

Janubi-Sharqiy Osiyo til guruhining bu minglab alomatlari aniq ASCII versiyalarida kodlarni kodlash uchun ajratilgan bitta pape ma'lumotlarida tasvirlab berolmaydilar. Natijada, konsorsium deb nomlangan Undosh (Unicode - Unicode konsorsium). Sanoatning ko'plab rahbarlari (Dazmolni kodlaydigan temirni kodlaydigan dasturiy ta'minotni ishlab chiqaradigan dasturiy ta'minot ishlab chiqaradigan dasturiy ta'minotni ishlab chiqaradigan dasturlar). Unicode konsortsiumining shafeligida birinchi o'zgaruvchanlik edi UTF 32.. Kodlash nomidagi raqam bitta belgini kodlash uchun ishlatiladigan bitlar sonini anglatadi. 32 bit - yangi Universal UTF kodlashida bitta belgini kodlash uchun zarur bo'lgan 4 bayt. Natijada, matnli ASCII va UTF-32-ning kengaytirilgan versiyasida CECCI-ning kengaytirilgan versiyasida bir xil bo'ladi, ikkinchisida to'rt baravar ko'p bo'ladi. Bu yomon, ammo hozirda biz UTF yordamida ikki-o'ttiz ikkinchi darajaga teng belgilar sonini kodlash imkoniyatiga egamiz ( milliardlab belgilarbu har qanday haqiqiy qiymatni koloslast chegara bilan qoplaydi). Ammo Evropa guruhining tillari bo'lgan ko'plab davlatlar umuman kodlashda juda ko'p belgilar mavjud va shuning uchun UTF-32-dan foydalanishda, ular to'rt martalik o'sishda qatnashmadi Matnli hujjatlar og'irligida, natijada Internet-trafikning ko'payishi va saqlangan ma'lumotlar hajmi. Bu juda ko'p va hech kim bunday isrofgarchilikka qodir emas. Unicode rivojlanishi natijasida paydo bo'ldi UTF-16Bu shunchalik muvaffaqiyatli bo'lib, ular biz foydalanadigan barcha belgilar uchun asosiy joy sifatida qabul qilingan. Bir belgini kodlash uchun u ikki baytdan foydalanadi. Keling, bu narsa qanday ko'rinishini ko'rib chiqaylik. Windows operatsion tizimida siz "Boshlash" - "Standart" - "Standart" - "Xizmatlar jadvali" - "Belgilar jadvali" yo'lovchisidan o'tishingiz mumkin. Natijada, stol sizning shriftingizda o'rnatilgan barcha turdagi vektor shakllari bilan stol ochiladi. Agar siz Unicode belgilari to'plamini "qo'shimcha parametrlar" to'plamini tanlasangiz, har bir shriftni alohida-alohida o'z ichiga olgan barcha shriftlarni alohida-alohida-alohida-ni ko'rishingiz mumkin. Aytgancha, ularning birortasini bosish, siz uni ikki marta ko'rishingiz mumkin uTF-16 formatidagi kodTo'rt o'n olti raqamdan iborat:
16 bitdan foydalanib, UTF-16-da qancha belgilarni kodlash mumkin? 65 536 (ikki yoshdan o'n olti) va bu raqam Unicodedagi asosiy bo'shliq uchun olindi. Bundan tashqari, u bilan kodlash usullari mavjud, ammo ikki millionga yaqin belgi, ammo million matn belgilarida kengaytirilgan maydon bilan cheklangan. Ammo Unicode kodlashining ushbu muvaffaqiyatli versiyasi ham, masalan, dasturlarni yozganlar uchun ko'p mamnuniyat keltirmadi ingliz tiliUlar uchun ASCII-16-ning kengaytirilgan versiyasidan keyin UTF-16-ning og'irligi ikki baravar ko'paydi (UTF-16-dagi bir xil belgisidagi bir xil belgi uchun bitta belgidan iborat). Bu har kimni qondirish, va umuman Unicode konsorsiumida hammasi hal qilindi. kodlash bilan keling o'zgaruvchan uzunlik. U utf-8 deb nomlangan. Sakkizta sarlavhaga qaramay, u haqiqatan ham o'zgaruvchan uzunlikdagi, i.e. Har bir matn belgisi bir-olti baytning ketma-ketligini kodlash mumkin. Amalda, UTF-8 dan to'rtta baytgacha bo'lgan bir qismdan iborat, chunki kodeksning to'rt baytiga har qanday narsani yuborish mumkin emas. Barcha lotin belgilari bitta baytda, shuningdek eski yaxshi ASCII-da kodlanadi. Natijada, faqat Lotinni kodlash holatida, hatto Unicode tushunmaydigan dasturlar ham UTF-8-da kodlangan narsalarni o'qiydi. Ular. Askastaning asosiy qismi shunchaki uniCode konsorsiumidan o'chirilgan. UTF-8-da kirill belgilari ikki baytga, masalan, Gruziya - uch baytda. UTF 16 va 8 ni yaratgandan so'ng Unicode konsorsiumi asosiy muammoni hal qildi - endi bizda bor shriftlar bitta kod maydoni mavjud. Va endi ularning ishlab chiqaruvchilari faqat o'zlarining kuchlari va imkoniyatlari asosida, uni matn belgilarining vektor shakllari bilan to'ldirish uchun. Quyidagi jadvalda turli xil shriftlarni boshqa raqamlarni ishlatishini ko'rish mumkin. Unicode shriftlarining ba'zi belgilari juda yaxshi tortishi mumkin. Ammo endi ular turli kodlar uchun yaratilganligi sababli ajralib turmaydi, ammo shrift ishlab chiqaruvchisi ushbu yoki boshqa vektor shakllarini oxirigacha to'ldirish yoki tugatishmagan.

Rossiya harflari o'rniga krakoyabry - qanday tuzatish kerak

Keling, CRakozzabe Matn matn o'rniga yoki boshqacha qilib aytganda, rus tilida to'g'ri kodlash qanday tanlanganligini ko'raylik. Aslida, siz ushbu matnni yaratadigan yoki tahrirlangan dasturda, matnli bo'laklardan foydalangan holda o'rnatiladi. Matnli fayllarni tahrirlash va yaratish uchun juda yaxshi foydalanaman, menimcha, HTML va PHP muharriri Notepad ++. Biroq, u hali ham yaxshi yuzlab dasturlash va markali sintaksisni ta'kidlashi mumkin, shuningdek plaginlar bilan kengayish qobiliyatiga ega. O'qimoq batafsil ko'rib chiqish Havolani ushbu ajoyib dastur. Notepad ++ eng yaxshi menyuda, sizda "kodlash" element mavjud, u erda siz o'zingizning standart saytingizda foydalaniladigan bitta variantni o'zgartirish imkoniyatiga ega bo'lasiz:
Joomla 1.5 va undan yuqori bo'lgan saytda, shuningdek WordPress-dagi blogda bo'lgani kabi, siz Krakoyorning paydo bo'lishiga yo'l qo'ymaslik uchun tanlovni tanlashingiz kerak Bomsiz UTF 8. Bom prefiksi nima? Gap shundaki, ETF-16 Endoding ishlab chiqilganda, negadir bunday ketma-ketlikda, ikkalangizni to'g'ri ketma-ketlikda (masalan, soat 0a15) va teskari (150a) bilan belgilash imkoniyati mavjud. . Va dasturlarni o'qishni o'qishni tushunish uchun va ixtiro qilingan Bom. (Baytda belgi yoki boshqacha aytganda, imzo, imzo qo'yilgan, tasdiqlangan holda, hujjatlarning boshiga uchta qo'shimcha baytni qo'shishda ifodalangan. UTF-8 kodlashida, Unicode konsorsiumida hech qanday bom yo'q edi va shuning uchun imzo qo'shib, imzolar (bu mashhur qo'shimcha uch uchta bayt) Ba'zi dasturlar shunchaki kodni o'qishga to'sqinlik qiladi. Shuning uchun, biz har doim UTF-da fayllarni tejashda, siz bomsiz (imzosiz) variantni tanlashingiz kerak. Shunday qilib, siz oldindan siz o'zingizni carraredan tortib oling. Diniyada nima qilishicha, Windows-dagi ba'zi dasturlar buni qanday qilishni bilmaydi (UTF-8-da matnni bomsiz saqlay olmaysiz), masalan, xuddi shu mashhur daftar derazalar. U hujjatni UTF-8-da tejaydi, ammo hali boshiga imzo qo'shadi (uchta qo'shimcha bayt). Bundan tashqari, ushbu baytlar doimo bir xil bo'ladi - to'g'ridan-to'g'ri ketma-ketlikda kodni o'qing. Ammo serverlarda, bu kichik narsalar tufayli muammo bo'lishi mumkin - yoriqlar chiqadi. Shuning uchun, hech qanday holatda odatdagi daftarlarning derazalarini ishlatmang Agar siz Krakoyorbra paydo bo'lishini xohlasangiz, saytingizdagi hujjatlarni tahrirlash. Men allaqachon kamchilikka ega emas va afzalliklardan biri bo'lmagan notepad ++ muharriri uchun eng so'nggi va eng oson variantni ko'rib chiqaman. Notepad ++-da kodni tanlashda siz matnni UCS-2 kodlashiga aylantira olasiz, bu UCODOD standartiga juda yaqin. Shuningdek, Ansi, I.E. turida kodlanmagan bo'lishi mumkin. Rus tiliga tayanib, bu siz allaqachon Windows 1251 dan yuqori narxda tasvirlanadi. Bu ma'lumotlar qayerdan keladi? U sizning operatsiya xonangizning reestrida yozilgan windows tizimlari - OEMda (rus tili) misolida nimani tanlashda qanday kodlash (rus tili uchun CP866 bo'ladi). Agar siz boshqa standart tilni kompyuteringizda o'rnatsangiz, shundan so'ng ushbu kodlarni xuddi shu til uchun ANSI yoki OEM bilan almashtiriladi. Notepad ++ shahrida bo'lganingizdan so'ng, hujjatni kodlash yoki tahrirlash uchun hujjat oching, so'ngra muharrirning pastki o'ng burchagida siz uning ismini ko'ra olasiz: Krakoyorbrovning oldini olish uchunYuqorida tavsiflangan harakatlar bundan mustasno, uning kepkasida ro'yxatdan o'tish uchun foydali bo'ladi manba kodi Barcha sayt sahifalarida ushbu kodlash haqida ma'lumot, server yoki mahalliy xost qachon sodir bo'lmaydi. Umuman olganda, HTMLdan boshqa barcha tillarda Maxsus XML-ning maxsus kodlashini ko'rsatadigan maxsus XML reklama ishlatiladi.< ? xml version= "1.0" encoding= "windows-1251" ? > Kodni qismlarga ajratishni boshlashdan oldin, brauzer qaysi versiyani ishlatilishini va ushbu tilning belgilar kodlarini qanday talqin qilishingiz kerakligini bilib oladi. Ammo qanday e'tiborga loyiqki, hujjatni standart Unicode-da saqlasangiz, ushbu XML deklaratsiyasini o'tkazib yuborsangiz, ushbu XML deklaratsiyasini o'tkazib yuborish mumkin (kodlash UTF-8 hisoblansa, agar bom bo'lsa, uTF-8 hisoblanadi). Hujjatda hTML tili Ishlatilgan kodlashni belgilash uchun meta elementBosh teg ochilish va yopilish o'rtasida buyuriladi: < head> . . . < meta charset= "utf-8" > . . . < / head> Ushbu yozuv HTML 4.01da standart qabul qilinganlardan bir xil farq qiladi, ammo HTML 5 standartida yangi kiritilgan bo'lib, u hozirda ishlatilgan har kim tomonidan to'g'ri tushuniladi bu lahzada brauzerlar. Nazariyada kodlashning belgisi bo'lgan meta elementi HTML hujjat Qo'yish yaxshiroq iloji boricha yuqori darajadagi sarlavhadaShunday qilib, birinchi belgining matni bo'yicha yig'ilish paytida (har doim har doim va har doim o'qiydigan) brauzer allaqachon ushbu belgilarning kodlarini qanday izohlashi haqida ma'lumotga ega bo'lishi kerak. Avval link

- jo'nash (@Cordzampamit) 2017 yil 17 avgust

Koi8-r ishi?

Koi8-r - kirill alifbo harflarini kodlash uchun yaratilgan sakkiz bitli kod sahifasi. Ishlab chiquvchilar rus alifbosining belgilarini shunday qilib, kirilllik belgilarining pozitsiyasining pozitsiyasining pastki qismida joylashgan fonetik o'xshashligi haqidagi pozitsiyaning pozitsiyasiga to'g'ri keladi. Agar ushbu kodlashda yozilgan matnda har bir belgining sakkizdan bir qismini olib tashlash uchun, keyin lotin harflariga o'xshash matn olinadi.

Bunday ayirboshlash kodi EI Evropa Ittifoqining Evropa Ittifoqi Evropa Ittifoqi seriyasining kompyuterlarida va saksoninchi yillarning o'rtalaridan boshlab, uni birinchi rusli versiyalarda ishlatishni boshladi. operatsion tizim Unix.

Kodlash shundaki, har bir belgi tayinlangan noyob kod: 00000000 dan 1111111 gacha. Shunday qilib, shaxs o'z rasmlari va kompyuteri - ularning kodi bo'yicha.

Chernova Encodingmi?

Emas. Eski sakkiz bitli kompyuterlar uchun muhim edi, endi Unicode asosan turli xil formatlarda qo'llaniladi.

Salom, aziz blogi o'quvchilari veb-sayti. Bugun biz siz bilan Krakoyorbra qaerdan va dasturlar bilan tanishish haqida gaplashamiz, ular qaysi matnli kodlar mavjud va qaysi biri ishlatilishi kerak. Keling, ularning rivojlanish tarixi, shuningdek, ASCII, KOI8-R, Windows 1251 va Unicode UTF 16 va 8 ta konsorsiumining kengaytirilgan versiyalarini batafsil ko'rib chiqaylik.

Kimdir bu ma'lumot keraksiz ko'rinishi mumkin, ammo siz qanday savollar paydo bo'lishini bilib olasiz (belgilar to'plamini o'qimaslik). Endi men barchani ushbu maqolaning matniga yuborish imkoniga ega bo'laman va sizning shoallaringizni mustaqil ravishda qidiraman. Xo'sh, ma'lumotni o'zlashtirishga tayyorlaning va rivoyatni kuzatishga harakat qiling.

ASCII - Latiza matn kodlashi

Matnli kodlarning rivojlanishi uni sanoatning shakllanishi bilan bir vaqtda va shu vaqt ichida ular juda oz sonli o'zgarishlarga duch kelishdi. Tarixan, barchasi EBCDICning talaffuzida zararli bo'lgan, bu lotin alifbosidagi harflarni, hujayra alifbosidagi harflarni, arab raqamlari va tinish belgilarini boshqarish belgilari bilan kodlash imkonini berdi.

Ammo baribir zamonaviy matnli kodlarni rivojlantirishning boshlanish nuqtasi mashhur deb hisoblanishi kerak ASCII. (Ma'lumot almashish uchun Amerika standart kodlari, rus tilida odatda "ASSI" deb e'lon qilinadi). Unda ingliz tilida so'zlashadigan foydalanuvchilar tomonidan eng ko'p ishlatiladigan dastlabki 128 ta belgi - arab raqamlari va tinish belgilari tasvirlangan.

ASCII-da tasvirlangan 128 ta belgidan ham, xizmat ko'rsatish belgilari qavslar, panjara, yulduzchalar va boshqalar tomonidan maydalangan. Aslida, siz ularni ko'rasiz:

Bu ASCIIning dastlabki versiyasidan 128 belgidan iborat standart bo'lib qoldi va boshqa kodlashda siz albatta uchrashasiz va ular shunday munosabatda bo'lasiz.

Ammo haqiqat shundaki, siz bir bayt yordamida 128-ni, balki 256 xil qiymatlarni kodlashingiz mumkin, ammo 256 xil qiymatlar (sakkiz darajaga ikki baravar ko'p), shuning uchun asosiy versiyadan keyin butun bir qator paydo bo'ladi Aqli advanced Kodods ASCII128 ta asosiy belgilar, shuningdek, milliy kodlash belgilarini (masalan, rus) kodlashi mumkin edi.

Bu erda, ehtimol, tavsifda ishlatiladigan raqam tizimi haqida biroz ko'proq narsa. Birinchidan, hamma narsani bilganingizdek, kompyuterda faqat institutda yoki maktabda yoki maktabda o'tkazilgan bo'lsa, nol va birliklar bilan birga ishlaydi ("Bolvev Algebra" bilan ishlaydi. Ularning har biri noldan boshlanadigan va ettinchi darajali ikki darajani talab qiladi:

Bunday dizaynda nol va dizayndagi barcha mumkin bo'lgan kombinatsiyalar faqat 256 bo'lishi mumkinligini tushunish qiyin emas. Ikkilik tizimdan o'nlik tizimdan tarjima qiling. Yuqoridagi burilishlarning barcha darajalarini bitta stendning barcha darajasini belgilash kerak.

Bizning misolda, u 1 (ikki darajagacha), plyus 32 (beshinchi darajasida ikki marta), shuningdek, 128 (ettinchi darajasida) . O'nlik raqamli tizimda 233 oladi. Ko'rinib turibdiki, hamma narsa juda oddiy.

Ammo agar siz stolga ASCII belgilari bilan qarasangiz, ular o'n oltilik kodlashda taqdim etilganligini ko'rasiz. Masalan, "yulduzcha" 2a raqamining jannatiga to'g'ri keladi. Ehtimol, bilasizki, siz olti miqdordagi tizim tizimida (o'rtacha o'n) dan f (o'rtacha o'nta) gacha bo'lgan lotin harflari (o'n besh) raqamli tizimda ishlatiladi.

Xo'sh, bu uchun ikkilik raqamlarni o'n miqdorda tarjima qiling Keyingi sodda va vizual tarzda murojaat qiling. Har bir ma'lumotdan iborat ma'lumot to'rtta bitning ikki qismida, yuqoridagi skrinshotda ko'rsatilganidek, to'rtta bitdan iborat. Shunday qilib Baytning har bir yarmida ikkilik kodi faqat o'n olti qiymatdan (to'rtinchi darajadan ikkitasi) kodlashi mumkin, uni Hekaduti uchun osongina ifodalash mumkin.

Bundan tashqari, baytning chap yarmida, skrinshotda ko'rsatilgandek emas, balki uni noldan hisobga olish kerak bo'ladi. Natijada, yaxshi hisoblash orqali e9 raqami skrinshotda kodlanganligini olamiz. Umid qilamanki, bu mening mulohazalarim va bu tanqoning qotib qolganligingiz tushunarli. Xo'sh, endi biz matn kodlashi haqida gapirib, davom etamiz.

Aski - CP866 va koi8-r kodlashning kengaytirilgan versiyalari

Shunday qilib, biz ASCII haqida gapirishni boshladik, bu barcha zamonaviy kodlanishlar (Windows 1251, Unicode, UTF 8) bo'lgan.

Dastlab, u faqat 128 ta lotin alifbosi, arab raqamlari va u erda boshqa narsa yotqizilgan, ammo kengaytirilgan versiyada bitta pate ma'lumotlarida kodlangan barcha 256 qiymatdan foydalanish mumkin edi. Ular. Tilning so'zlarining ramzlarini Ata-Ata-ga qo'shish imkoniyati.

Bu erda yana bir bor aniqlashtirish uchun chalg'itilishi kerak bo'ladi - nega kodlash kerak? matnlar va nima uchun bu juda muhim. Kompyuteringiz ekranidagi belgilar ikki narsa asosida shakllanadi - barcha turdagi belgilar (ular CO-fayllar) to'plamlari (ular fayllar CO-da) va bu vektorli shakllarni olish imkonini beradi ( shrift fayl) bu to'g'ri joyga kiritilishi belgisidir.

Shriftlar vektor shakllari uchun javobgardir, ammo unda ishlatiladigan operatsion tizim va dasturlar kodlash uchun javobgardir. Ular. Kompyuteringizdagi har qanday matn har birida, bu matnning bir qismi kodlangan.

Ushbu matnni ekranda ko'rsatadigan dastur (matn muharriri, brauzer, brauzer, brauzer va boshqalar), u keyingi belgini kodlashni o'qiydi va ulangan shrift faylida ulangan shrift faylida unga mos keladigan vektor shaklini qidiradi va Ushbu matn hujjatini namoyish eting. Hammasi oddiy va tatbiq.

Shunday qilib, biz kerakli har qanday belgini (masalan, milliy alifboflashtirish uchun) kodlash uchun, ikkita shart tugashi kerak - bu belgi shaklida ishlatiladigan shriftda bo'lishi kerak va bu belgi qadar bitta shriftda bitta baytga kengaytirilishi mumkin . Shuning uchun bunday variantlarning umuman bir guruhi bor. Faqat rus tilidagi belgilarni kodlash uchun kengaytirilgan eshaklarning bir nechta navlari mavjud.

Masalan, dastlab paydo bo'ldi CP866.Unda rus alifbosining belgilaridan foydalanish mumkin edi va u ASCIIning kengaytirilgan versiyasi edi.

Ular. Skrinshotda bir oz yuqori bo'lgan, ammo skrinshotda ko'rsatilganidek, uning yuqori qismi Askining asosiy versiyasiga (Lotin, raqamlarning 128 belgilari), ammo skrinshotda joylashgan CP866-ning pastki qismi mavjud edi Ko'rishning bir oz ostidan biroz past va yana 128 ta belgi (rus harflari va har qanday psevdografik) kodlash imkonini berdi:

Qarang, o'ng ustunda raqamlar 8 dan boshlanadi, chunki 0 dan 7 gacha bo'lgan raqamlar ASCIIning asosiy qismiga murojaat qiladi (birinchi ekran rasmiga qarang). Shunday qilib Rossiyaning "M" harfi CP866 kodida 9c kodiga ega bo'ladi (9 ta vall bo'lganlar) bir baytdagi ma'lumotlarda yozilishi mumkin, agar bo'lsa Rus qahramonlari bilan mos keladigan shrift mavjud, bu xat matnda muammosiz ko'rinadi.

Bu miqdor qayerdan kelib chiqqan cP866-da psudografers.? Hozirgi paytda bu yorqin yillarda rus tilida ushbu kodlash hozirda grafik operatsion tizimlarning bunday taqsimlanmaganligi sababli ishlab chiqilganligi barchasida. Va DOSS va shunga o'xshash matnli operatsiyalarda, hech bo'lmaganda qandaydir qandaydir tarzda matnlar differsiyasini diversifikatsiya qilishga ruxsat berilgan va shuning uchun u Aska versiyalarini amalga oshirgan holda, CP866 va boshqa barcha qatorlar.

CP866 tarqatilgan IBM kompaniyasi, ammo qo'shimcha ravishda, bir qator kodlar rus tilining belgilari uchun bir qator kodlar ishlab chiqilgan, masalan, bir xil turdagi (kengaytirilgan ASCII) bog'liq bo'lishi mumkin Koi8-r.:

Uning ishining printsipi keyinchalik tavsiflangan CP866 bilan bir xil bo'lib qoldi - har bir matn belgisi bitta bayt bilan kodlanadi. Skrinshot koi8-jadvalning ikkinchi yarmini ko'rsatadi, chunki Birinchi bo'lim ushbu moddadagi birinchi ekranda ko'rsatilgan ASUS bazasi bilan to'liq mos keladi.

Koi8-r Encoding xususiyatlari orasida ta'kidlash mumkinki, uning stolidagi rus harflari alifbo tartibida emas, masalan, CP866-da ishlab chiqarilgan.

Agar siz birinchi skrinshotga qarasangiz, KOI8-R-larda, rus harflari birinchi qismidan lotin alifbosidagi harflar sifatida jadvalning bir xil stollarida joylashganligini xabar qiling stol. Bu rus ruslarini lotin tilidan uzatish uchun faqat bitta bitni olib tashlash orqali latinga o'tish uchun qilingan (ikki yoki 128).

Windows 1251 - ASCII ning zamonaviy versiyasi va nima uchun crackels chiqadi

Matnli kodlarni yanada rivojlantirish grafik operatsion tizimlar va ularda psevdografikadan foydalanish zarurligi ommalashdi. Natijada, butun guruh o'z mohiyatiga ko'ra, hali ham Aski versiyalari bor edi (bitta matn belgisi faqat bitta ma'lumotdan faqat bitta ma'lumotga ega), ammo psevdografik belgilardan foydalanmasdan.

Ular Amerika standartlashtirish instituti tomonidan ishlab chiqilgan Ansi kodlash deb nomlangan. Kirillning nomi hanuzgacha rus tilini qo'llab-quvvatlash bilan variantini olish uchun ishlatilgan. Bunday misolning misoli.

Oldindan ishlatiladigan CP866 va Koi8-Ruxsatdan foydalanib, unda rus tilida tipografiyaning yo'qolgan belgilari, shuningdek, rus salaviyasiga yaqin bo'lgan belgilar mavjud edi Tillar (Ukraina, belorus va boshqalar):

Rus tilini kodlashning mo'lligi tufayli shriftlar va dasturiy ta'minot ishlab chiqaruvchilari doimiy ravishda bosh og'rig'i, aziz o'quvchilar, aziz o'quvchilar, ko'pincha bu mashhur bu mashhur krakoyabrySardoqlikka chalinganida matnda ishlatiladigan versiya bilan o'rgatilganda.

Ko'pincha ular elektron pochta orqali xabarlarni yuborish va qabul qilishda, aslida bu muammoni hal qilishda ushbu muammoni hal qila olmaydigan va ko'pincha foydalanuvchilar foydalanganda, taniqli krokozzyablarni oldini olish uchun ishlatilgan Rus tilida yozilgan CP866, KOI8-R yoki Windows 1251 o'xshash.

Aslida, rus tilida keltirib chiqaradigan Krakoyorbra ushbu tilni kodlashdan noto'g'ri foydalanish natijasida ushbu tilni kodlashning noto'g'ri ishlatilishi natijasi paydo bo'ldi, ular matnli xabar dastlab kodlanganiga mos kelmadi.

Agar CP866 bilan kodlangan belgilar "Windows 1251" kodi jadvali yordamida displeyni namoyish qilishga harakat qiling va xabar matnini to'liq almashtirishga harakat qiling.

Shunga o'xshash vaziyat ko'pincha, forumlar yoki bloglarda uchraydi, agar rus qahramonlari bo'lsa, xatolar Sebestin kodini qo'shmagan matnli veb-saytda ishlatilmasa, bir xil kodlashda saqlanmaydi yalang'och ko'z bilan ko'rinadi.

Oxir-oqibat, ko'plab kododlar va doimiy ravishda ekinzorlar bo'lgan holatlar, ko'p charchagan holda, yangi universal o'zgarishni yaratish uchun zarur bo'lgan va nihoyat, muammolarning paydo bo'lishi bilan almashtiriladigan yangiversal o'zgarishlarni yaratish uchun zaruriydirlar mavjud edi O'qishli matnlar. Bundan tashqari, shunga o'xshash xitoy tillarida bo'lgan tillar mavjud bo'lib, ularda til belgilari 256 dan oshiq bo'lgan.

Unicode (Unicode) - UTF 8, 16 va 32 Universal kodlari

Janubi-Sharqiy Osiyo til guruhining bu minglab alomatlari aniq ASCII versiyalarida kodlarni kodlash uchun ajratilgan bitta pape ma'lumotlarida tasvirlab berolmaydilar. Natijada, konsorsium deb nomlangan Undosh (Unicode - Unicode konsorsium). Sanoatning ko'plab rahbarlari (Dazmolni kodlaydigan temirni kodlaydigan dasturiy ta'minotni ishlab chiqaradigan dasturiy ta'minot ishlab chiqaradigan dasturiy ta'minotni ishlab chiqaradigan dasturlar).

Unicode konsortsiumining shafeligida birinchi o'zgaruvchanlik edi UTF 32.. Kodlash nomidagi raqam bitta belgini kodlash uchun ishlatiladigan bitlar sonini anglatadi. 32 bit - yangi Universal UTF kodlashida bitta belgini kodlash uchun zarur bo'lgan 4 bayt.

Natijada, matnli ASCII va UTF-32-ning kengaytirilgan versiyasida CECCI-ning kengaytirilgan versiyasida bir xil bo'ladi, ikkinchisida to'rt baravar ko'p bo'ladi. Bu yomon, ammo hozirda biz UTF yordamida ikki-o'ttiz ikkinchi darajaga teng belgilar sonini kodlash imkoniyatiga egamiz ( milliardlab belgilarbu har qanday haqiqiy qiymatni koloslast chegara bilan qoplaydi).

Ammo Evropa guruhining tillari bo'lgan ko'plab davlatlar umuman kodlashda juda ko'p belgilar mavjud va shuning uchun UTF-32-dan foydalanishda, ular to'rt martalik o'sishda qatnashmadi Matnli hujjatlar og'irligida, natijada Internet-trafikning ko'payishi va saqlangan ma'lumotlar hajmi. Bu juda ko'p va hech kim bunday isrofgarchilikka qodir emas.

Unicode rivojlanishi natijasida paydo bo'ldi UTF-16Bu shunchalik muvaffaqiyatli bo'lib, ular biz foydalanadigan barcha belgilar uchun asosiy joy sifatida qabul qilingan. Bir belgini kodlash uchun u ikki baytdan foydalanadi. Keling, bu narsa qanday ko'rinishini ko'rib chiqaylik.

Windows operatsion tizimida siz "Boshlash" - "Standart" - "Standart" - "Xizmatlar jadvali" - "Belgilar jadvali" yo'lovchisidan o'tishingiz mumkin. Natijada, stol sizning shriftingizda o'rnatilgan barcha turdagi vektor shakllari bilan stol ochiladi. Agar siz Unicode belgilari to'plamini "qo'shimcha parametrlar" to'plamini tanlasangiz, har bir shriftni alohida-alohida o'z ichiga olgan barcha shriftlarni alohida-alohida-alohida-ni ko'rishingiz mumkin.

Aytgancha, ularning birortasini bosish, siz uni ikki marta ko'rishingiz mumkin uTF-16 formatidagi kodTo'rt o'n olti raqamdan iborat:

16 bitdan foydalanib, UTF-16-da qancha belgilarni kodlash mumkin? 65 536 (ikki yoshdan o'n olti) va bu raqam Unicodedagi asosiy bo'shliq uchun olindi. Bundan tashqari, u bilan kodlash usullari mavjud, ammo ikki millionga yaqin belgi, ammo million matn belgilarida kengaytirilgan maydon bilan cheklangan.

Ammo Unicod kodlashning ushbu muvaffaqiyatli versiyasi, masalan, faqat ingliz tilida bo'lgan dasturlardan mamnun bo'lmadi, chunki ular faqat ingliz tilida bo'lgan dasturlar bilan juda mamnun bo'lmadi, ularda ASCII-16-ning kengaytirilgan versiyasi, durang hajmi ikki baravar oshdi (bitta baytga Aski va ikki baytning bir xil ramzidagi bir xil ramzda).

Bu har bir kishini qondirish, va umuman Unicode konsorsiumida hamma narsa bilan kelishishga qaror qilindi kododikaning o'zgaruvchan uzunligi. U utf-8 deb nomlangan. Sakkizta sarlavhaga qaramay, u haqiqatan ham o'zgaruvchan uzunlikdagi, i.e. Har bir matn belgisi bir-olti baytning ketma-ketligini kodlash mumkin.

Amalda, UTF-8 dan to'rtta baytgacha bo'lgan bir qismdan iborat, chunki kodeksning to'rt baytiga har qanday narsani yuborish mumkin emas. Barcha lotin belgilari bitta baytda, shuningdek eski yaxshi ASCII-da kodlanadi.

Natijada, faqat Lotinni kodlash holatida, hatto Unicode tushunmaydigan dasturlar ham UTF-8-da kodlangan narsalarni o'qiydi. Ular. Askastaning asosiy qismi shunchaki uniCode konsorsiumidan o'chirilgan.

UTF-8-da kirill belgilari ikki baytga, masalan, Gruziya - uch baytda. UTF 16 va 8 ni yaratgandan so'ng Unicode konsorsiumi asosiy muammoni hal qildi - endi bizda bor shriftlarda bitta kod maydoni mavjud. Va endi ularning ishlab chiqaruvchilari faqat o'zlarining kuchlari va imkoniyatlari asosida, uni matn belgilarining vektor shakllari bilan to'ldirish uchun. Endi hatto to'plamlarda.

Quyidagi jadvalda turli xil shriftlarni boshqa raqamlarni ishlatishini ko'rish mumkin. Unicode shriftlarining ba'zi belgilari juda yaxshi tortishi mumkin. Ammo endi ular turli kodlar uchun yaratilganligi sababli ajralib turmaydi, ammo shrift ishlab chiqaruvchisi ushbu yoki boshqa vektor shakllarini oxirigacha to'ldirish yoki tugatishmagan.

Rossiya harflari o'rniga krakoyabry - qanday tuzatish kerak

Keling, CRakozzabe Matn matn o'rniga yoki boshqacha qilib aytganda, rus tilida to'g'ri kodlash qanday tanlanganligini ko'raylik. Aslida, siz ushbu matnni yaratadigan yoki tahrirlangan dasturda, matnli bo'laklardan foydalangan holda o'rnatiladi.

Matn fayllarini tahrirlash va yaratish uchun, men o'z fikrimcha, shaxsan juda yaxshi foydalanaman. Biroq, u hali ham yaxshi yuzlab dasturlash va markali sintaksisni ta'kidlashi mumkin, shuningdek plaginlar bilan kengayish qobiliyatiga ega. Havolada ushbu ajoyib dastur haqida batafsil ma'lumotni o'qing.

Notepad ++ eng yaxshi menyuda, sizda "kodlash" element mavjud, u erda siz o'zingizning standart saytingizda foydalaniladigan bitta variantni o'zgartirish imkoniyatiga ega bo'lasiz:

Joomla 1.5 va undan yuqori bo'lgan saytda, shuningdek WordPress-dagi blogda bo'lgani kabi, siz Krakoyorning paydo bo'lishiga yo'l qo'ymaslik uchun tanlovni tanlashingiz kerak Bomsiz UTF 8. Bom prefiksi nima?

Gap shundaki, ETF-16 Endoding ishlab chiqilganda, negadir bunday ketma-ketlikda, ikkalangizni to'g'ri ketma-ketlikda (masalan, soat 0a15) va teskari (150a) bilan belgilash imkoniyati mavjud. . Va dasturlarni o'qishni o'qishni tushunish uchun va ixtiro qilingan Bom. (Baytda belgi yoki boshqacha aytganda, imzo, imzo qo'yilgan, tasdiqlangan holda, hujjatlarning boshiga uchta qo'shimcha baytni qo'shishda ifodalangan.

UTF-8 kodlashida, Unicode konsorsiumida hech qanday bom yo'q edi va shuning uchun imzo qo'shib, imzolar (bu mashhur qo'shimcha uch uchta bayt) Ba'zi dasturlar shunchaki kodni o'qishga to'sqinlik qiladi. Shuning uchun, biz har doim UTF-da fayllarni tejashda, siz bomsiz (imzosiz) variantni tanlashingiz kerak. Shunday qilib, siz oldindan siz o'zingizni carraredan tortib oling.

Diniyada nima qilishicha, Windows-dagi ba'zi dasturlar buni qanday qilishni bilmaydi (UTF-8-da matnni bomsiz saqlay olmaysiz), masalan, xuddi shu mashhur daftar derazalar. U hujjatni UTF-8-da tejaydi, ammo hali boshiga imzo qo'shadi (uchta qo'shimcha bayt). Bundan tashqari, ushbu baytlar doimo bir xil bo'ladi - to'g'ridan-to'g'ri ketma-ketlikda kodni o'qing. Ammo serverlarda, bu kichik narsalar tufayli muammo bo'lishi mumkin - yoriqlar chiqadi.

Shuning uchun, hech qanday holatda odatdagi daftarlarning derazalarini ishlatmang Agar siz Krakoyorbra paydo bo'lishini xohlasangiz, saytingizdagi hujjatlarni tahrirlash. Men allaqachon kamchilikka ega emas va afzalliklardan biri bo'lmagan notepad ++ muharriri uchun eng so'nggi va eng oson variantni ko'rib chiqaman.

Notepad ++-da kodni tanlashda siz matnni UCS-2 kodlashiga aylantira olasiz, bu UCODOD standartiga juda yaqin. Shuningdek, Ansi, I.E. turida kodlanmagan bo'lishi mumkin. Rus tiliga tayanib, bu siz allaqachon Windows 1251 dan yuqori narxda tasvirlanadi. Bu ma'lumotlar qayerdan keladi?

Windows operatsion tizimining reestrida yozilgan - qaysi kodlash Ansi bo'lsa, OEMda (rus tili uchun) qanday tanlash kerakligini tanlash kerak (rus tilida) cp866 bo'ladi. Agar siz boshqa standart tilni kompyuteringizda o'rnatsangiz, shundan so'ng ushbu kodlarni xuddi shu til uchun ANSI yoki OEM bilan almashtiriladi.

Notepad ++ shahrida bo'lganingizdan so'ng, hujjatni kodlash yoki tahrirlash uchun hujjat oching, so'ngra muharrirning pastki o'ng burchagida siz uning ismini ko'ra olasiz:

Krakoyorbrovning oldini olish uchunYuqorida tavsiflangan harakatlardan tashqari, Saytning barcha sahifalarining boshchiligidagi Saytning barcha sahifalarining sarlavhasida server yoki mahalliy xostning paydo bo'lishi uchun ushbu kodlash to'g'risidagi ma'lumotni ro'yxatdan o'tkazish foydali bo'ladi.

Umuman olganda, HTMLdan boshqa barcha tillarda Maxsus XML-ning maxsus kodlashini ko'rsatadigan maxsus XML reklama ishlatiladi.

Kodni qismlarga ajratishni boshlashdan oldin, brauzer qaysi versiyani ishlatilishini va ushbu tilning belgilar kodlarini qanday talqin qilishingiz kerakligini bilib oladi. Ammo qanday e'tiborga loyiqki, hujjatni standart Unicode-da saqlasangiz, ushbu XML deklaratsiyasini o'tkazib yuborsangiz, ushbu XML deklaratsiyasini o'tkazib yuborish mumkin (kodlash UTF-8 hisoblansa, agar bom bo'lsa, uTF-8 hisoblanadi).

Ishlatilgan kodlashni belgilash uchun HTML tili to'g'risidagi hujjatda meta elementBosh teg ochilish va yopilish o'rtasida buyuriladi:

... ...

Ushbu yozuv qabul qilingan B-dan mutlaqo farq qiladi, ammo HTML 5 standartiga qadar yangi kiritilganlarga to'liq mos keladi va hozirda ishlatilgan brauzerlar mutlaqo to'g'ri tushuniladi.

Nazariyda, meml kodlash yordamida meta elementi qo'yish yaxshiroq bo'ladi iloji boricha yuqori darajadagi sarlavhadaShunday qilib, birinchi belgining matni bo'yicha yig'ilish paytida (har doim har doim va har doim o'qiydigan) brauzer allaqachon ushbu belgilarning kodlarini qanday izohlashi haqida ma'lumotga ega bo'lishi kerak.

Omad sizga! Blog sahifalaridagi noaniq uchrashuvlarga

Sizni qiziqtirishi mumkin

Sayt uchun mutlaq va nisbiy havolalar o'rtasidagi farq nimadan iborat
Openserer - zamonaviy mahalliy server va undan foydalanishning misoli wordPress o'rnatmalar kompyuterda
Chmood nima, ular fayllar va papkalarni belgilash huquqi (777, 755, 666) va PHP orqali qanday ishlash kerak
Yanex sayt va onlayn-do'konni qidiring