KOI-8 (വിവര കൈമാറ്റ കോഡ്, 8 ബിറ്റുകൾ), KOI8- കമ്പ്യൂട്ടർ സയൻസിലെ എട്ട്-ബിറ്റ് പ്രതീക എൻകോഡിംഗ് സ്റ്റാൻഡേർഡ്. സിറിലിക് അക്ഷരമാലയിലെ അക്ഷരങ്ങൾ എൻകോഡ് ചെയ്യുന്നതിനായി രൂപകൽപ്പന ചെയ്തിരിക്കുന്നു. എൻകോഡിംഗിന്റെ ഏഴ്-ബിറ്റ് പതിപ്പും ഉണ്ട് - KOI-7. KOI-7, KOI-8 എന്നിവ GOST 19768-74 ൽ വിവരിച്ചിരിക്കുന്നു (ഇപ്പോൾ അസാധുവാണ്).
KOI-8 ന്റെ ഡെവലപ്പർമാർ റഷ്യൻ അക്ഷരമാല അക്ഷരങ്ങൾ വിപുലീകരിച്ച ASCII പട്ടികയുടെ മുകളിൽ സ്ഥാപിച്ചു, അങ്ങനെ സിറിലിക് പ്രതീകങ്ങളുടെ സ്ഥാനങ്ങൾ പട്ടികയുടെ ചുവടെയുള്ള ഇംഗ്ലീഷ് അക്ഷരമാലയിലെ അവയുടെ സ്വരസൂചക എതിരാളികളുമായി പൊരുത്തപ്പെടുന്നു. ഇതിനർത്ഥം, KOI-8 ൽ എഴുതിയ വാചകത്തിൽ നിന്ന് ഓരോ പ്രതീകത്തിന്റെയും എട്ടാമത്തെ ബിറ്റ് നീക്കം ചെയ്താൽ, ലാറ്റിൻ അക്ഷരങ്ങളിൽ എഴുതിയിട്ടുണ്ടെങ്കിലും ഒരു "വായിക്കാൻ കഴിയുന്ന" വാചകം ലഭിക്കും. ഉദാഹരണത്തിന്, "റഷ്യൻ ടെക്സ്റ്റ്" എന്ന വാക്കുകൾ "rUSSKIJ tEKST" ആയി മാറും. ഒരു പാർശ്വഫലമെന്ന നിലയിൽ, സിറിലിക് അക്ഷരങ്ങൾ അക്ഷരമാലാ ക്രമത്തിലായിരുന്നില്ല.
KOI8-R എൻകോഡിംഗ്
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .എ | .ബി | .സി | .ഡി | .ഇ | .എഫ് | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8. |
─
2500 |
│
2502 |
┌
250 സി |
┐
2510 |
└
2514 |
┘
2518 |
├
251 സി |
┤
2524 |
┬
252 സി |
┴
2534 |
┼
253 സി |
▀
2580 |
▄
2584 |
█
2588 |
▌
258 സി |
▐
2590 |
9. |
░
2591 |
▒
2592 |
▓
2593 |
⌠
2320 |
■
25A0 |
∙
2219 |
√
221എ |
≈
2248 |
≤
2264 |
≥
2265 |
A0 |
⌡
2321 |
°
B0 |
²
B2 |
·
B7 |
÷
F7 |
എ. |
═
2550 |
║
2551 |
╒
2552 |
യോ 451 |
╓
2553 |
╔
2554 |
╕
2555 |
╖
2556 |
╗
2557 |
╘
2558 |
╙
2559 |
╚
255എ |
╛
255 ബി |
╜
255 സി |
╝
255D |
╞
255ഇ |
ബി. |
╟
255F |
╠
2560 |
╡
2561 |
യോ 401 |
╢
2562 |
╣
2563 |
╤
2564 |
╥
2565 |
╦
2566 |
╧
2567 |
╨
2568 |
╩
2569 |
╪
256A |
╫
256B |
╬
256 സി |
©
A9 |
സി. |
യു 44ഇ |
എ 430 |
ബി 431 |
സി 446 |
ഡി 434 |
ഇ 435 |
എഫ് 444 |
ജി 433 |
എക്സ് 445 |
ഒപ്പം 438 |
th 439 |
ലേക്ക് 43എ |
എൽ 43B |
എം 43 സി |
എൻ 43D |
ഒ 43ഇ |
ഡി. |
പി 43F |
ഐ 44F |
ആർ 440 |
കൂടെ 441 |
ടി 442 |
ചെയ്തത് 443 |
ഒപ്പം 436 |
വി 432 |
ബി 44 സി |
എസ് 44B |
എച്ച് 437 |
sh 448 |
ഓ 44D |
sch 449 |
എച്ച് 447 |
ബി 44എ |
ഇ. |
YU 42ഇ |
എ 410 |
ബി 411 |
സി 426 |
ഡി 414 |
ഇ 415 |
എഫ് 424 |
ജി 413 |
എക്സ് 425 |
ഒപ്പം 418 |
വൈ 419 |
TO 41എ |
എൽ 41 ബി |
എം 41 സി |
എച്ച് 41D |
കുറിച്ച് 41ഇ |
എഫ്. |
പി 41F |
ഐ 42F |
ആർ 420 |
കൂടെ 421 |
ടി 422 |
ചെയ്തത് 423 |
ഒപ്പം 416 |
IN 412 |
ബി 42 സി |
എസ് 42 ബി |
Z 417 |
ഡബ്ല്യു 428 |
ഇ 42D |
SCH 429 |
എച്ച് 427 |
കൊമ്മേഴ്സന്റ് 42A |
KOI8-U എൻകോഡിംഗ് (ഉക്രേനിയൻ)
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .എ | .ബി | .സി | .ഡി | .ഇ | .എഫ് | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
എ. |
═
2550 |
║
2551 |
╒
2552 |
യോ 451 |
є
454 |
╔
2554 |
і
456 |
ї
457 |
╗
2557 |
╘
2558 |
╙
2559 |
╚
255എ |
╛
255 ബി |
ґ
491 |
╝
255D |
╞
255ഇ |
ബി. |
╟
255F |
╠
2560 |
╡
2561 |
യോ 401 |
Є
404 |
╣
2563 |
І
406 |
Ї
407 |
╦
2566 |
╧
2567 |
╨
2568 |
╩
2569 |
╪
256A |
Ґ
490 |
╬
256 സി |
©
A9 |
— Zampolit (@ComradZampolit) ഓഗസ്റ്റ് 17, 2017
KOI8-R എങ്ങനെയാണ് പ്രവർത്തിക്കുന്നത്?
KOI8-R എന്നത് സിറിലിക് അക്ഷരമാല എൻകോഡ് ചെയ്യാൻ രൂപകൽപ്പന ചെയ്ത എട്ട്-ബിറ്റ് കോഡ് പേജാണ്. ഡവലപ്പർമാർ റഷ്യൻ അക്ഷരമാലയിലെ പ്രതീകങ്ങൾ സ്ഥാപിച്ചു, സിറിലിക് പ്രതീകങ്ങളുടെ സ്ഥാനങ്ങൾ അവയുടെ സ്വരസൂചക എതിരാളികളുമായി ഇംഗ്ലീഷ് അക്ഷരമാലയിൽ ടേബിളിന്റെ ചുവടെ യോജിക്കുന്നു. ഈ എൻകോഡിംഗിൽ എഴുതിയ വാചകത്തിൽ നിന്ന് ഓരോ പ്രതീകത്തിന്റെയും എട്ടാമത്തെ ബിറ്റ് നീക്കം ചെയ്താൽ, ലാറ്റിൻ അക്ഷരങ്ങളിലെ ലിപ്യന്തരണം പോലെയുള്ള ഒരു വാചകം ലഭിക്കും.
ഇസി സീരീസ് കമ്പ്യൂട്ടറുകളുടെ കമ്പ്യൂട്ടറുകളിൽ എഴുപതുകളിൽ അത്തരമൊരു വിവര കൈമാറ്റ കോഡ് ഉപയോഗിച്ചിരുന്നു, എൺപതുകളുടെ മധ്യത്തോടെ ഇത് യുണിക്സ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന്റെ ആദ്യ റസിഫൈഡ് പതിപ്പുകളിൽ ഉപയോഗിക്കാൻ തുടങ്ങി.
ഓരോ പ്രതീകത്തിനും ഒരു അദ്വിതീയ കോഡ് നൽകിയിരിക്കുന്നു എന്ന വസ്തുതയാണ് കോഡിംഗിൽ ഉൾപ്പെട്ടിരുന്നത്: 00000000 മുതൽ 11111111 വരെ. അങ്ങനെ, ഒരു വ്യക്തി കഥാപാത്രങ്ങളെ അവരുടെ ശൈലി കൊണ്ടും കമ്പ്യൂട്ടറിനെ കോഡ് കൊണ്ടും വേർതിരിച്ചു.
Chernoff എൻകോഡിംഗ് നിലവിൽ ഉപയോഗത്തിലുണ്ടോ?
ഇല്ല. പഴയ എട്ട്-ബിറ്റ് കമ്പ്യൂട്ടറുകൾക്ക് ഇത് പ്രസക്തമായിരുന്നു, ഇപ്പോൾ യൂണികോഡ് പ്രധാനമായും വിവിധ ഫോർമാറ്റുകളിൽ ഉപയോഗിക്കുന്നു.
സൈറ്റിലും പ്രോഗ്രാമുകളിലും ക്രാക്കോസിയാബ്രുകൾ എവിടെ നിന്നാണ് വരുന്നത്, ഏത് ടെക്സ്റ്റ് എൻകോഡിംഗുകൾ നിലവിലുണ്ട്, ഏതൊക്കെ ഉപയോഗിക്കണം എന്നതിനെക്കുറിച്ച് ഇന്ന് ഞങ്ങൾ നിങ്ങളോട് സംസാരിക്കും. അടിസ്ഥാന ASCII മുതൽ അതിന്റെ വിപുലീകൃത പതിപ്പുകൾ CP866, KOI8-R, Windows 1251 എന്നിവയിൽ നിന്ന് ആരംഭിച്ച്, യൂണികോഡ് കൺസോർഷ്യം UTF 16, 8 എന്നിവയുടെ ആധുനിക എൻകോഡിംഗുകളിൽ അവസാനിക്കുന്ന അവരുടെ വികസനത്തിന്റെ ചരിത്രം നമുക്ക് സൂക്ഷ്മമായി പരിശോധിക്കാം. ചിലർക്ക്, ഈ വിവരങ്ങൾ അനാവശ്യമായി തോന്നിയേക്കാം, എന്നാൽ ക്രാൾഡ് ഔട്ട് ക്രാക്കോസിയാബ്രുകളെ (വായിക്കാനാകാത്ത അക്ഷരക്കൂട്ടം) സംബന്ധിച്ച് എനിക്ക് പ്രത്യേകമായി എത്ര ചോദ്യങ്ങൾ ഉണ്ടെന്ന് നിങ്ങൾക്കറിയാം. ഈ ലേഖനത്തിന്റെ വാചകത്തിലേക്ക് എല്ലാവരേയും റഫർ ചെയ്യാനും സ്വതന്ത്രമായി എന്റെ ജാംബുകൾക്കായി നോക്കാനും ഇപ്പോൾ എനിക്ക് അവസരം ലഭിക്കും. ശരി, വിവരങ്ങൾ ഉൾക്കൊള്ളാൻ തയ്യാറാകൂ, കഥയുടെ ഗതി പിന്തുടരാൻ ശ്രമിക്കുക.
ASCII - ലാറ്റിനിനായുള്ള അടിസ്ഥാന ടെക്സ്റ്റ് എൻകോഡിംഗ്
ടെക്സ്റ്റ് എൻകോഡിംഗുകളുടെ വികസനം ഐടി വ്യവസായത്തിന്റെ രൂപീകരണത്തോടൊപ്പം ഒരേസമയം സംഭവിച്ചു, ഈ സമയത്ത് അവർക്ക് വളരെയധികം മാറ്റങ്ങൾ വരുത്താൻ കഴിഞ്ഞു. ചരിത്രപരമായി, ഇതെല്ലാം ആരംഭിച്ചത് ഇബിസിഡിഐസിയിൽ നിന്നാണ്, ഇത് റഷ്യൻ ഉച്ചാരണത്തിൽ തികച്ചും വ്യത്യസ്തമായിരുന്നു, ഇത് ലാറ്റിൻ അക്ഷരമാലയിലെ അക്ഷരങ്ങൾ, അറബി അക്കങ്ങൾ, വിരാമചിഹ്നങ്ങൾ എന്നിവ നിയന്ത്രണ പ്രതീകങ്ങളോടെ എൻകോഡ് ചെയ്യുന്നത് സാധ്യമാക്കി. എന്നിട്ടും, ആധുനിക ടെക്സ്റ്റ് എൻകോഡിംഗുകളുടെ വികസനത്തിന്റെ ആരംഭ പോയിന്റ് പ്രസിദ്ധമായി കണക്കാക്കണം ആസ്കി(അമേരിക്കൻ സ്റ്റാൻഡേർഡ് കോഡ് ഫോർ ഇൻഫർമേഷൻ ഇന്റർചേഞ്ച്, റഷ്യൻ ഭാഷയിൽ ഇത് സാധാരണയായി "ആസ്കി" എന്ന് ഉച്ചരിക്കുന്നു). ഇംഗ്ലീഷ് സംസാരിക്കുന്ന ഉപയോക്താക്കൾ ഏറ്റവും സാധാരണയായി ഉപയോഗിക്കുന്ന ആദ്യത്തെ 128 പ്രതീകങ്ങൾ ഇത് വിവരിക്കുന്നു - ലാറ്റിൻ അക്ഷരങ്ങൾ, അറബി അക്കങ്ങൾ, വിരാമചിഹ്നങ്ങൾ. ASCII-ൽ വിവരിച്ചിരിക്കുന്ന ഈ 128 പ്രതീകങ്ങളിൽ പോലും, ബ്രാക്കറ്റുകൾ, ബാറുകൾ, നക്ഷത്രചിഹ്നങ്ങൾ തുടങ്ങിയ ചില സേവന പ്രതീകങ്ങൾ ഉണ്ടായിരുന്നു. വാസ്തവത്തിൽ, നിങ്ങൾക്ക് അവ സ്വയം കാണാൻ കഴിയും:ASCII-യുടെ യഥാർത്ഥ പതിപ്പിൽ നിന്നുള്ള ഈ 128 പ്രതീകങ്ങളാണ് സ്റ്റാൻഡേർഡ് ആയി മാറിയത്, മറ്റേതെങ്കിലും എൻകോഡിംഗിൽ നിങ്ങൾ തീർച്ചയായും അവരെ കണ്ടുമുട്ടുകയും അവ ആ ക്രമത്തിൽ നിൽക്കുകയും ചെയ്യും. എന്നാൽ ഒരു ബൈറ്റ് വിവരത്തിന്റെ സഹായത്തോടെ, 128 അല്ല, 256 വ്യത്യസ്ത മൂല്യങ്ങൾ (എട്ടിന്റെ പവർ രണ്ട് മുതൽ 256 വരെ) എൻകോഡ് ചെയ്യാൻ കഴിയും എന്നതാണ് വസ്തുത. അസുക, ഒരു മുഴുവൻ പരമ്പര വിപുലീകരിച്ച ASCII എൻകോഡിംഗുകൾ, ഇതിൽ, 128 അടിസ്ഥാന പ്രതീകങ്ങൾക്ക് പുറമേ, ദേശീയ എൻകോഡിംഗിന്റെ ചിഹ്നങ്ങൾ എൻകോഡ് ചെയ്യാനും സാധിച്ചു (ഉദാഹരണത്തിന്, റഷ്യൻ). ഇവിടെ, ഒരുപക്ഷേ, വിവരണത്തിൽ ഉപയോഗിക്കുന്ന നമ്പർ സിസ്റ്റങ്ങളെക്കുറിച്ച് കുറച്ചുകൂടി പറയേണ്ടതാണ്. ഒന്നാമതായി, നിങ്ങൾക്കെല്ലാവർക്കും അറിയാവുന്നതുപോലെ, ഒരു കമ്പ്യൂട്ടർ ബൈനറി സിസ്റ്റത്തിലെ അക്കങ്ങൾ ഉപയോഗിച്ച് മാത്രമേ പ്രവർത്തിക്കൂ, അതായത് പൂജ്യങ്ങളും വണ്ണുകളും ("ബൂളിയൻ ആൾജിബ്ര", ആരെങ്കിലും ഒരു ഇൻസ്റ്റിറ്റ്യൂട്ടിലോ സ്കൂളിലോ പഠിച്ചിട്ടുണ്ടെങ്കിൽ). ഒരു ബൈറ്റിൽ എട്ട് ബിറ്റുകൾ അടങ്ങിയിരിക്കുന്നു, അവയിൽ ഓരോന്നും രണ്ട് മുതൽ രണ്ടിന്റെ ശക്തി വരെ, പൂജ്യത്തിൽ നിന്ന് ആരംഭിച്ച് ഏഴാമത്തേതിൽ രണ്ട് വരെ:
അത്തരമൊരു നിർമ്മിതിയിൽ സാധ്യമായ പൂജ്യങ്ങളുടെയും ഒന്നിന്റെയും സംയോജനങ്ങളിൽ 256 മാത്രമേ ഉണ്ടാകൂ എന്ന് മനസ്സിലാക്കാൻ പ്രയാസമില്ല.ഒരു സംഖ്യയെ ബൈനറിയിൽ നിന്ന് ദശാംശത്തിലേക്ക് പരിവർത്തനം ചെയ്യുന്നത് വളരെ ലളിതമാണ്. രണ്ടിന്റെ എല്ലാ ശക്തികളും നിങ്ങൾ കൂട്ടിച്ചേർക്കേണ്ടതുണ്ട്, അതിൽ ഒന്നുണ്ട്. ഞങ്ങളുടെ ഉദാഹരണത്തിൽ, ഇത് 1 (2 മുതൽ പൂജ്യത്തിന്റെ ശക്തി) പ്ലസ് 8 (രണ്ട് മുതൽ 3 വരെ), പ്ലസ് 32 (രണ്ട് മുതൽ അഞ്ചാം വരെ), പ്ലസ് 64 (ആറാം), പ്ലസ് 128 (ഏഴാം വരെ) . ദശാംശ നൊട്ടേഷനിൽ ആകെ 233 ലഭിക്കുന്നു. നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, എല്ലാം വളരെ ലളിതമാണ്. എന്നാൽ നിങ്ങൾ ASCII പ്രതീകങ്ങളുള്ള പട്ടിക സൂക്ഷ്മമായി പരിശോധിച്ചാൽ, അവ ഹെക്സാഡെസിമൽ എൻകോഡിംഗിൽ പ്രതിനിധീകരിക്കുന്നത് നിങ്ങൾ കാണും. ഉദാഹരണത്തിന്, "നക്ഷത്രചിഹ്നം" അസ്കിയിൽ ഹെക്സാഡെസിമൽ സംഖ്യ 2A യുമായി യോജിക്കുന്നു. അറബി അക്കങ്ങൾക്ക് പുറമേ, ഹെക്സാഡെസിമൽ സംഖ്യാ സമ്പ്രദായം എ (പത്ത് എന്നർത്ഥം) മുതൽ എഫ് (പതിനഞ്ച് എന്നർത്ഥം) വരെയുള്ള ലാറ്റിൻ അക്ഷരങ്ങളും ഉപയോഗിക്കുന്നുണ്ടെന്ന് നിങ്ങൾക്കറിയാം. നന്നായി, വേണ്ടി ബൈനറിയെ ഹെക്സാഡെസിമലിലേക്ക് പരിവർത്തനം ചെയ്യുകഇനിപ്പറയുന്ന ലളിതവും ദൃശ്യപരവുമായ രീതി അവലംബിക്കുക. മുകളിലെ സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്നതുപോലെ, വിവരങ്ങളുടെ ഓരോ ബൈറ്റും നാല് ബിറ്റുകളുടെ രണ്ട് ഭാഗങ്ങളായി തിരിച്ചിരിക്കുന്നു. അത്. ഓരോ പകുതി ബൈറ്റിലും, പതിനാറ് മൂല്യങ്ങൾ മാത്രമേ ബൈനറി കോഡിൽ (രണ്ട് മുതൽ നാലാമത്തെ പവർ വരെ) എൻകോഡ് ചെയ്യാൻ കഴിയൂ, അത് ഒരു ഹെക്സാഡെസിമൽ സംഖ്യയായി എളുപ്പത്തിൽ പ്രതിനിധീകരിക്കാം. മാത്രമല്ല, ബൈറ്റിന്റെ ഇടത് പകുതിയിൽ, പൂജ്യത്തിൽ നിന്ന് ആരംഭിക്കുന്ന ഡിഗ്രികൾ വീണ്ടും എണ്ണേണ്ടത് ആവശ്യമാണ്, സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്നതുപോലെയല്ല. തൽഫലമായി, ലളിതമായ കണക്കുകൂട്ടലുകൾ വഴി, സ്ക്രീൻഷോട്ടിൽ E9 എന്ന നമ്പർ എൻകോഡ് ചെയ്തിട്ടുണ്ടെന്ന് നമുക്ക് ലഭിക്കും. എന്റെ യുക്തിയുടെ ഗതിയും ഈ പസിലിനുള്ള പരിഹാരവും നിങ്ങൾക്ക് വ്യക്തമായിരിക്കുമെന്ന് ഞാൻ പ്രതീക്ഷിക്കുന്നു. ശരി, ഇപ്പോൾ നമുക്ക് തുടരാം, വാസ്തവത്തിൽ, ടെക്സ്റ്റ് എൻകോഡിംഗുകളെക്കുറിച്ച് സംസാരിക്കാം.
അസുകയുടെ വിപുലീകൃത പതിപ്പുകൾ - സ്യൂഡോഗ്രാഫിക്സുള്ള CP866, KOI8-R എൻകോഡിംഗുകൾ
അതിനാൽ, ഞങ്ങൾ ASCII നെക്കുറിച്ച് സംസാരിക്കാൻ തുടങ്ങി, അത് എല്ലാ ആധുനിക എൻകോഡിംഗുകളുടെയും (Windows 1251, യൂണികോഡ്, UTF 8) വികസനത്തിന്റെ ആരംഭ പോയിന്റായിരുന്നു. തുടക്കത്തിൽ, അതിൽ ലാറ്റിൻ അക്ഷരമാലയുടെയും അറബി അക്കങ്ങളുടെയും മറ്റെന്തെങ്കിലും അക്ഷരങ്ങളുടെയും 128 പ്രതീകങ്ങൾ മാത്രമേ അടങ്ങിയിട്ടുള്ളൂ, എന്നാൽ വിപുലീകൃത പതിപ്പിൽ ഒരു ബൈറ്റ് വിവരങ്ങളിൽ എൻകോഡ് ചെയ്യാൻ കഴിയുന്ന എല്ലാ 256 മൂല്യങ്ങളും ഉപയോഗിക്കാൻ സാധിച്ചു. ആ. നിങ്ങളുടെ ഭാഷയിലെ അക്ഷരങ്ങളുടെ പ്രതീകങ്ങൾ Asci-യിലേക്ക് ചേർക്കുന്നത് സാധ്യമായി. ഇവിടെ വിശദീകരിക്കാൻ വീണ്ടും വ്യതിചലിക്കേണ്ടതുണ്ട് - നിങ്ങൾക്ക് എന്തിനാണ് ടെക്സ്റ്റ് എൻകോഡിംഗുകൾ വേണ്ടത്എന്തുകൊണ്ട് അത് വളരെ പ്രധാനമാണ്. നിങ്ങളുടെ കമ്പ്യൂട്ടർ സ്ക്രീനിലെ ചിഹ്നങ്ങൾ രണ്ട് കാര്യങ്ങളുടെ അടിസ്ഥാനത്തിലാണ് രൂപപ്പെടുന്നത് - എല്ലാത്തരം പ്രതീകങ്ങളുടെയും വെക്റ്റർ ആകൃതികളുടെ (പ്രാതിനിധ്യങ്ങൾ) സെറ്റുകൾ (അവ നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ ഇൻസ്റ്റാൾ ചെയ്തിരിക്കുന്ന ഫോണ്ടുകളുള്ള ഫയലുകളിൽ ഉണ്ട്) കൂടാതെ കൃത്യമായി പുറത്തെടുക്കാൻ നിങ്ങളെ അനുവദിക്കുന്ന ഒരു കോഡ് ഈ വെക്റ്റർ ആകൃതികളുടെ (ഫോണ്ട് ഫയൽ) ഒരു പ്രതീകം ശരിയായ സ്ഥലത്ത് ചേർക്കണം. വെക്റ്റർ ഫോമുകൾക്ക് ഫോണ്ടുകൾ ഉത്തരവാദികളാണെന്ന് വ്യക്തമാണ്, എന്നാൽ ഓപ്പറേറ്റിംഗ് സിസ്റ്റവും അതിൽ ഉപയോഗിക്കുന്ന പ്രോഗ്രാമുകളും എൻകോഡിംഗിന് ഉത്തരവാദികളാണ്. ആ. നിങ്ങളുടെ കമ്പ്യൂട്ടറിലെ ഏത് ടെക്സ്റ്റും ഒരു കൂട്ടം ബൈറ്റുകളായിരിക്കും, അവ ഓരോന്നും ഈ വാചകത്തിന്റെ ഒരു പ്രതീകം എൻകോഡ് ചെയ്യുന്നു. ഈ വാചകം സ്ക്രീനിൽ പ്രദർശിപ്പിക്കുന്ന പ്രോഗ്രാം (ടെക്സ്റ്റ് എഡിറ്റർ, ബ്രൗസർ മുതലായവ), കോഡ് പാഴ്സ് ചെയ്യുമ്പോൾ, അടുത്ത പ്രതീകത്തിന്റെ എൻകോഡിംഗ് വായിക്കുകയും ഈ വാചകം പ്രദർശിപ്പിക്കുന്നതിന് ബന്ധിപ്പിച്ചിരിക്കുന്ന ആവശ്യമുള്ള ഫോണ്ട് ഫയലിൽ അനുബന്ധ വെക്റ്റർ ഫോമിനായി തിരയുകയും ചെയ്യുന്നു. പ്രമാണം. എല്ലാം ലളിതവും നിസ്സാരവുമാണ്. ഇതിനർത്ഥം, നമുക്ക് ആവശ്യമുള്ള ഏത് പ്രതീകവും എൻകോഡ് ചെയ്യുന്നതിന് (ഉദാഹരണത്തിന്, ദേശീയ അക്ഷരമാലയിൽ നിന്ന്), രണ്ട് നിബന്ധനകൾ പാലിക്കേണ്ടതുണ്ട് - ഈ പ്രതീകത്തിന്റെ വെക്റ്റർ ഫോം ഉപയോഗിച്ച ഫോണ്ടിൽ ആയിരിക്കണം, കൂടാതെ ഈ പ്രതീകം വിപുലീകൃത ASCII എൻകോഡിംഗുകളിൽ എൻകോഡ് ചെയ്യാവുന്നതാണ്. ഒരു ബൈറ്റിലേക്ക്. അതിനാൽ, അത്തരം ഓപ്ഷനുകളുടെ ഒരു കൂട്ടം ഉണ്ട്. റഷ്യൻ ഭാഷയുടെ പ്രതീകങ്ങൾ എൻകോഡ് ചെയ്യുന്നതിന് മാത്രം, വിപുലീകരിച്ച അസ്കയുടെ നിരവധി ഇനങ്ങൾ ഉണ്ട്. ഉദാഹരണത്തിന്, തുടക്കത്തിൽ ഉണ്ടായിരുന്നു CP866, അതിൽ റഷ്യൻ അക്ഷരമാലയിലെ പ്രതീകങ്ങൾ ഉപയോഗിക്കാൻ സാധിച്ചു, അത് ASCII-യുടെ വിപുലീകൃത പതിപ്പായിരുന്നു. ആ. മുകളിലെ സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്ന അസുകയുടെ (128 ലാറ്റിൻ പ്രതീകങ്ങളും അക്കങ്ങളും മറ്റേതെങ്കിലും ഭ്രാന്തും) അതിന്റെ മുകൾ ഭാഗം പൂർണ്ണമായും പൊരുത്തപ്പെടുന്നു, എന്നാൽ CP866 എൻകോഡിംഗുള്ള പട്ടികയുടെ താഴത്തെ ഭാഗത്ത് സ്ക്രീൻഷോട്ടിൽ സൂചിപ്പിച്ചിരിക്കുന്ന ഫോം ഉണ്ടായിരുന്നു. താഴെ, മറ്റൊരു 128 അടയാളങ്ങൾ എൻകോഡ് ചെയ്യാൻ അനുവദിച്ചിരിക്കുന്നു (റഷ്യൻ അക്ഷരങ്ങളും എല്ലാത്തരം സ്യൂഡോഗ്രാഫിക്സും അവിടെ):നിങ്ങൾ കാണുന്നത്, വലത് കോളത്തിൽ, അക്കങ്ങൾ 8 ൽ ആരംഭിക്കുന്നു, കാരണം 0 മുതൽ 7 വരെയുള്ള സംഖ്യകൾ ASCII ബേസ് ഭാഗത്തെ പരാമർശിക്കുന്നു (ആദ്യത്തെ സ്ക്രീൻഷോട്ട് കാണുക). അത്. CP866 ലെ റഷ്യൻ അക്ഷരമായ "M" ന് 9C കോഡ് ഉണ്ടായിരിക്കും (അത് അനുബന്ധ വരിയുടെ 9 ന്റെ കവലയിലും ഹെക്സാഡെസിമൽ നമ്പർ സിസ്റ്റത്തിലെ C നമ്പറുള്ള നിരയിലും സ്ഥിതിചെയ്യുന്നു), അത് ഒരു ബൈറ്റ് വിവരത്തിൽ എഴുതാം. , കൂടാതെ റഷ്യൻ അക്ഷരങ്ങളുള്ള അനുയോജ്യമായ ഒരു ഫോണ്ട് ഉണ്ടെങ്കിൽ, പ്രശ്നങ്ങളില്ലാത്ത ഈ കത്ത് ടെക്സ്റ്റിൽ പ്രദർശിപ്പിക്കും. ഈ തുക എവിടെ നിന്ന് വന്നു? CP866 ലെ സ്യൂഡോഗ്രാഫിക്സ്? റഷ്യൻ ടെക്സ്റ്റിനായുള്ള ഈ എൻകോഡിംഗ് ആ രോമമുള്ള വർഷങ്ങളിൽ വികസിപ്പിച്ചെടുത്തതാണ്, ഇപ്പോൾ ഉള്ളതുപോലെ ഗ്രാഫിക്കൽ ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളുടെ വിതരണം ഇല്ലായിരുന്നു. ദോസയിലും സമാനമായ ടെക്സ്റ്റ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളിലും, കപട ഗ്രാഫിക്സ് എങ്ങനെയെങ്കിലും ടെക്സ്റ്റുകളുടെ രൂപകൽപ്പന വൈവിധ്യവത്കരിക്കുന്നത് സാധ്യമാക്കി, അതിനാൽ ഇത് CP866 ലും അസുകയുടെ വിപുലീകൃത പതിപ്പുകളുടെ വിഭാഗത്തിൽ നിന്നുള്ള മറ്റെല്ലാ സമപ്രായക്കാരിലും സമൃദ്ധമാണ്. CP866 വിതരണം ചെയ്തത് IBM ആണ്, എന്നാൽ ഇതിനുപുറമെ, റഷ്യൻ പ്രതീകങ്ങൾക്കായി നിരവധി എൻകോഡിംഗുകൾ വികസിപ്പിച്ചെടുത്തിട്ടുണ്ട്, ഉദാഹരണത്തിന്, അതേ തരം (വിപുലീകരിച്ച ASCII) ആട്രിബ്യൂട്ട് ചെയ്യാം. KOI8-R:
അതിന്റെ പ്രവർത്തനത്തിന്റെ തത്വം അൽപ്പം മുമ്പ് വിവരിച്ച CP866 ന് സമാനമാണ് - ടെക്സ്റ്റിന്റെ ഓരോ പ്രതീകവും ഒരൊറ്റ ബൈറ്റ് ഉപയോഗിച്ച് എൻകോഡ് ചെയ്തിരിക്കുന്നു. സ്ക്രീൻഷോട്ട് KOI8-R പട്ടികയുടെ രണ്ടാം പകുതി കാണിക്കുന്നു, കാരണം ഈ ലേഖനത്തിലെ ആദ്യ സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്ന അടിസ്ഥാന അസൂക്കയുമായി ആദ്യ പകുതി പൂർണ്ണമായും യോജിക്കുന്നു. KOI8-R എൻകോഡിംഗിന്റെ സവിശേഷതകളിൽ, അതിന്റെ പട്ടികയിലെ റഷ്യൻ അക്ഷരങ്ങൾ അക്ഷരമാലാ ക്രമത്തിലല്ല എന്നത് ശ്രദ്ധിക്കാവുന്നതാണ്, ഉദാഹരണത്തിന്, CP866-ൽ ചെയ്തു. നിങ്ങൾ ആദ്യത്തെ സ്ക്രീൻഷോട്ട് (എല്ലാ വിപുലീകൃത എൻകോഡിംഗുകളിലും ഉൾപ്പെടുത്തിയിരിക്കുന്ന അടിസ്ഥാന ഭാഗത്തിന്റെ) നോക്കുകയാണെങ്കിൽ, KOI8-R റഷ്യൻ അക്ഷരങ്ങൾ ലാറ്റിൻ അക്ഷരമാല വ്യഞ്ജനാക്ഷരത്തിന്റെ അക്ഷരങ്ങൾ പോലെ പട്ടികയുടെ അതേ സെല്ലുകളിൽ സ്ഥിതിചെയ്യുന്നത് നിങ്ങൾ ശ്രദ്ധിക്കും. മേശയുടെ ആദ്യ ഭാഗത്ത് നിന്ന് അവരോടൊപ്പം. ഒരു ബിറ്റ് (രണ്ട് മുതൽ ഏഴാമത്തെ പവർ അല്ലെങ്കിൽ 128 വരെ) മാത്രം ഉപേക്ഷിച്ച് റഷ്യൻ ഭാഷയിൽ നിന്ന് ലാറ്റിൻ അക്ഷരങ്ങളിലേക്ക് മാറുന്നതിനുള്ള സൗകര്യത്തിനായി ഇത് ചെയ്തു.
വിൻഡോസ് 1251 - ASCII യുടെ ആധുനിക പതിപ്പും എന്തുകൊണ്ട് krakozyabry ക്രാൾ ഔട്ട്
ഗ്രാഫിക്കൽ ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾ ജനപ്രീതി നേടുകയും അവയിൽ സ്യൂഡോഗ്രാഫിക്സ് ഉപയോഗിക്കേണ്ടതിന്റെ ആവശ്യകത ക്രമേണ അപ്രത്യക്ഷമാകുകയും ചെയ്തതാണ് ടെക്സ്റ്റ് എൻകോഡിംഗുകളുടെ കൂടുതൽ വികസനത്തിന് കാരണം. തൽഫലമായി, ഒരു മുഴുവൻ ഗ്രൂപ്പും ഉടലെടുത്തു, അത് സാരാംശത്തിൽ, അസൂക്കയുടെ വിപുലീകൃത പതിപ്പുകളായിരുന്നു (ടെക്സ്റ്റിന്റെ ഒരു പ്രതീകം ഒരു ബൈറ്റ് വിവരങ്ങൾ ഉപയോഗിച്ച് എൻകോഡ് ചെയ്തിരിക്കുന്നു), എന്നാൽ സ്യൂഡോഗ്രാഫിക് പ്രതീകങ്ങൾ ഉപയോഗിക്കാതെ. അമേരിക്കൻ സ്റ്റാൻഡേർഡ് ഇൻസ്റ്റിറ്റ്യൂട്ട് വികസിപ്പിച്ച ANSI എൻകോഡിംഗുകൾ എന്ന് വിളിക്കപ്പെടുന്നവയാണ് അവ. സാധാരണ ഭാഷയിൽ, റഷ്യൻ ഭാഷയെ പിന്തുണയ്ക്കുന്ന വേരിയന്റിനായി സിറിലിക് എന്ന പേരും ഉപയോഗിച്ചു. അത്തരം ഒരു ഉദാഹരണം ആകാം വിൻഡോസ് 1251. മുമ്പ് ഉപയോഗിച്ച CP866, KOI8-R എന്നിവയിൽ നിന്ന് ഇത് അനുകൂലമായി വ്യത്യാസപ്പെട്ടിരിക്കുന്നു, അതിൽ സ്യൂഡോഗ്രാഫിക് ചിഹ്നങ്ങളുടെ സ്ഥാനം റഷ്യൻ ടൈപ്പോഗ്രാഫിയുടെ (ആക്സന്റ് മാർക്ക് ഒഴികെ) നഷ്ടപ്പെട്ട ചിഹ്നങ്ങളും സ്ലാവിക് ഭാഷകളിൽ ഉപയോഗിച്ചിരിക്കുന്ന ചിഹ്നങ്ങളും എടുത്തതാണ്. റഷ്യൻ (ഉക്രേനിയൻ, ബെലാറഷ്യൻ മുതലായവ) ):റഷ്യൻ ഭാഷാ എൻകോഡിംഗുകളുടെ സമൃദ്ധി കാരണം, ഫോണ്ട് നിർമ്മാതാക്കൾക്കും സോഫ്റ്റ്വെയർ നിർമ്മാതാക്കൾക്കും നിരന്തരം തലവേദനയുണ്ടായിരുന്നു, പ്രിയ വായനക്കാരായ ഞങ്ങൾ പലപ്പോഴും വളരെ കുപ്രസിദ്ധരായിരുന്നു. ക്രാക്കോസിയാബ്രിവാചകത്തിൽ ഉപയോഗിച്ചിരിക്കുന്ന പതിപ്പുമായി ആശയക്കുഴപ്പം ഉണ്ടായപ്പോൾ. ഇ-മെയിൽ വഴി സന്ദേശങ്ങൾ അയയ്ക്കുമ്പോഴും സ്വീകരിക്കുമ്പോഴും പലപ്പോഴും അവർ പുറത്തായി, ഇത് വളരെ സങ്കീർണ്ണമായ പരിവർത്തന പട്ടികകൾ സൃഷ്ടിക്കുന്നതിലേക്ക് നയിച്ചു, ഇത് യഥാർത്ഥത്തിൽ റൂട്ടിൽ ഈ പ്രശ്നം പരിഹരിക്കാൻ കഴിഞ്ഞില്ല, പലപ്പോഴും ഉപയോക്താക്കൾ കത്തിടപാടുകൾക്കായി ലാറ്റിൻ അക്ഷരങ്ങളുടെ ലിപ്യന്തരണം ഉപയോഗിച്ചു. CP866, KOI8-R അല്ലെങ്കിൽ Windows 1251 പോലുള്ള റഷ്യൻ എൻകോഡിംഗുകൾ ഉപയോഗിക്കുമ്പോൾ കുപ്രസിദ്ധമായ krakozyabry ഒഴിവാക്കാൻ. വാസ്തവത്തിൽ, റഷ്യൻ വാചകത്തിന് പകരം പോപ്പ് അപ്പ് ചെയ്ത ബഗുകൾ ഈ ഭാഷയുടെ എൻകോഡിംഗിന്റെ തെറ്റായ ഉപയോഗത്തിന്റെ ഫലമാണ്, അത് പൊരുത്തപ്പെടുന്നില്ല. ടെക്സ്റ്റ് സന്ദേശം യഥാർത്ഥത്തിൽ എൻകോഡ് ചെയ്ത ഒന്ന്. ഉദാഹരണത്തിന്, നിങ്ങൾ വിൻഡോസ് 1251 കോഡ് ടേബിൾ ഉപയോഗിച്ച് CP866 ഉപയോഗിച്ച് എൻകോഡ് ചെയ്ത പ്രതീകങ്ങൾ പ്രദർശിപ്പിക്കാൻ ശ്രമിക്കുകയാണെങ്കിൽ, അതേ ക്രാക്കോസിയാബ്രി (അർത്ഥമില്ലാത്ത പ്രതീക സെറ്റ്) പുറത്തുവരും, സന്ദേശ വാചകം പൂർണ്ണമായും മാറ്റിസ്ഥാപിക്കും.
വെബ്സൈറ്റുകളോ ഫോറങ്ങളോ ബ്ലോഗുകളോ സൃഷ്ടിക്കുമ്പോഴും കോൺഫിഗർ ചെയ്യുമ്പോഴും റഷ്യൻ അക്ഷരങ്ങളുള്ള ടെക്സ്റ്റ് സ്ഥിരസ്ഥിതിയായി സൈറ്റിൽ ഉപയോഗിക്കുന്ന തെറ്റായ എൻകോഡിംഗിലോ തെറ്റായ ടെക്സ്റ്റ് എഡിറ്ററിലോ തെറ്റായി സംരക്ഷിക്കപ്പെടുമ്പോൾ സമാനമായ ഒരു സാഹചര്യം പലപ്പോഴും സംഭവിക്കാറുണ്ട്. കോഡ് നഗ്നനേത്രങ്ങൾ. അവസാനം, ധാരാളം എൻകോഡിംഗുകളും നിരന്തരം ക്രാക്കോസിയാബ്രിയും പുറത്തെടുക്കുന്ന അത്തരം ഒരു സാഹചര്യം പലരും മടുത്തു, നിലവിലുള്ളവയെല്ലാം മാറ്റിസ്ഥാപിക്കുന്ന ഒരു പുതിയ സാർവത്രിക വ്യതിയാനം സൃഷ്ടിക്കുന്നതിനുള്ള മുൻവ്യവസ്ഥകൾ ഉണ്ടായിരുന്നു, അവസാനം വായിക്കാൻ കഴിയാത്ത പാഠങ്ങളുടെ രൂപത്തിലുള്ള പ്രശ്നം പരിഹരിക്കും. . കൂടാതെ, ചൈനീസ് പോലുള്ള ഭാഷകളുടെ പ്രശ്നമുണ്ടായിരുന്നു, അവിടെ ഭാഷയുടെ പ്രതീകങ്ങൾ 256 ൽ കൂടുതലാണ്.
യൂണികോഡ് (യൂണികോഡ്) - സാർവത്രിക എൻകോഡിംഗുകൾ UTF 8, 16, 32
തെക്കുകിഴക്കൻ ഏഷ്യൻ ഭാഷാ ഗ്രൂപ്പിലെ ഈ ആയിരക്കണക്കിന് പ്രതീകങ്ങൾ ഒരു ബൈറ്റ് വിവരങ്ങളിൽ ഒരു തരത്തിലും വിവരിക്കാൻ കഴിയില്ല, ഇത് ASCII- യുടെ വിപുലീകൃത പതിപ്പുകളിൽ പ്രതീകങ്ങൾ എൻകോഡിംഗ് ചെയ്യാൻ അനുവദിച്ചിരിക്കുന്നു. തൽഫലമായി, ഒരു കൺസോർഷ്യം വിളിച്ചു യൂണികോഡ്(യൂണികോഡ് - യൂണികോഡ് കൺസോർഷ്യം) ഒരു സാർവത്രിക ടെക്സ്റ്റ് എൻകോഡിംഗിന്റെ ആവിർഭാവത്തിൽ താൽപ്പര്യമുള്ള നിരവധി ഐടി വ്യവസായ പ്രമുഖരുടെ (സോഫ്റ്റ്വെയർ നിർമ്മിക്കുന്നവർ, ഹാർഡ്വെയർ എൻകോഡ് ചെയ്യുന്നവർ, ഫോണ്ടുകൾ സൃഷ്ടിക്കുന്നവർ) സഹകരണത്തോടെ. യൂണികോഡ് കൺസോർഷ്യത്തിന്റെ കീഴിൽ പുറത്തിറക്കിയ ആദ്യ വേരിയേഷൻ ആയിരുന്നു UTF-32. എൻകോഡിംഗിന്റെ പേരിലുള്ള നമ്പർ അർത്ഥമാക്കുന്നത് ഒരു പ്രതീകം എൻകോഡ് ചെയ്യാൻ ഉപയോഗിക്കുന്ന ബിറ്റുകളുടെ എണ്ണം എന്നാണ്. 32 ബിറ്റുകൾ എന്നത് പുതിയ യൂണിവേഴ്സൽ എൻകോഡിംഗ് UTF-ൽ ഒരൊറ്റ പ്രതീകം എൻകോഡ് ചെയ്യുന്നതിന് ആവശ്യമായ 4 ബൈറ്റ് വിവരങ്ങളാണ്. തൽഫലമായി, ASCII-യുടെ വിപുലീകൃത പതിപ്പിലും UTF-32-ലും എൻകോഡ് ചെയ്ത ടെക്സ്റ്റുള്ള അതേ ഫയലിന്, പിന്നീടുള്ള സന്ദർഭത്തിൽ നാലിരട്ടി വലിപ്പം (ഭാരം) ഉണ്ടായിരിക്കും. ഇത് മോശമാണ്, എന്നാൽ ഇപ്പോൾ UTF ഉപയോഗിച്ച് മുപ്പത്തിരണ്ടാം ശക്തിക്ക് തുല്യമായ രണ്ട് പ്രതീകങ്ങളുടെ എണ്ണം എൻകോഡ് ചെയ്യാനുള്ള അവസരമുണ്ട് ( കോടിക്കണക്കിന് കഥാപാത്രങ്ങൾ, അത് ഒരു വലിയ മാർജിൻ ഉപയോഗിച്ച് ശരിക്കും ആവശ്യമായ ഏതെങ്കിലും മൂല്യം ഉൾക്കൊള്ളുന്നു). എന്നാൽ യൂറോപ്യൻ ഗ്രൂപ്പിന്റെ ഭാഷകളുള്ള പല രാജ്യങ്ങൾക്കും, എൻകോഡിംഗിൽ ഇത്രയും വലിയ അക്ഷരങ്ങൾ ഉപയോഗിക്കേണ്ട ആവശ്യമില്ല, എന്നിരുന്നാലും, UTF-32 ഉപയോഗിക്കുമ്പോൾ, അവർക്ക് വാചകത്തിന്റെ ഭാരത്തിൽ നാലിരട്ടി വർദ്ധനവ് ലഭിക്കും. ഒന്നിനും വേണ്ടിയുള്ള പ്രമാണങ്ങൾ, അതിന്റെ ഫലമായി, ഇന്റർനെറ്റ് ട്രാഫിക്കിന്റെയും വോളിയം സംഭരിച്ച ഡാറ്റയുടെയും അളവിൽ വർദ്ധനവ്. ഇത് ധാരാളം, അത്തരം മാലിന്യങ്ങൾ ആർക്കും താങ്ങാൻ കഴിയുമായിരുന്നില്ല. യൂണികോഡിന്റെ വികസനത്തിന്റെ ഫലമായി, UTF-16, ഞങ്ങൾ ഉപയോഗിക്കുന്ന എല്ലാ പ്രതീകങ്ങൾക്കുമുള്ള ഡിഫോൾട്ട് ബേസ് സ്പെയ്സായി അത് അംഗീകരിക്കപ്പെടത്തക്കവിധം വിജയിച്ചു. ഒരു പ്രതീകം എൻകോഡ് ചെയ്യുന്നതിന് ഇത് രണ്ട് ബൈറ്റുകൾ ഉപയോഗിക്കുന്നു. ഈ സാധനം എങ്ങനെയാണെന്ന് നോക്കാം. വിൻഡോസ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിൽ, നിങ്ങൾക്ക് "ആരംഭിക്കുക" - "പ്രോഗ്രാമുകൾ" - "ആക്സസറികൾ" - "യൂട്ടിലിറ്റികൾ" - "കാരക്ടർ ടേബിൾ" എന്ന പാതയിലൂടെ പോകാം. ഫലമായി, നിങ്ങളുടെ സിസ്റ്റത്തിൽ ഇൻസ്റ്റാൾ ചെയ്തിരിക്കുന്ന എല്ലാ ഫോണ്ടുകളുടെയും വെക്റ്റർ രൂപങ്ങളുള്ള ഒരു പട്ടിക തുറക്കും. "വിപുലമായ ഓപ്ഷനുകളിൽ" നിങ്ങൾ യൂണികോഡ് പ്രതീക സെറ്റ് തിരഞ്ഞെടുക്കുകയാണെങ്കിൽ, ഓരോ ഫോണ്ടിനും അതിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന മുഴുവൻ പ്രതീകങ്ങളും നിങ്ങൾക്ക് വ്യക്തിഗതമായി കാണാൻ കഴിയും. വഴിയിൽ, അവയിലേതെങ്കിലും ക്ലിക്കുചെയ്യുന്നതിലൂടെ, നിങ്ങൾക്ക് അതിന്റെ ഇരട്ട-ബൈറ്റ് കാണാൻ കഴിയും UTF-16 ഫോർമാറ്റിലുള്ള കോഡ്, നാല് ഹെക്സാഡെസിമൽ അക്കങ്ങൾ ഉൾക്കൊള്ളുന്നു:16 ബിറ്റുകൾ ഉപയോഗിച്ച് UTF-16-ൽ എത്ര പ്രതീകങ്ങൾ എൻകോഡ് ചെയ്യാൻ കഴിയും? 65536 (രണ്ട് മുതൽ പതിനാറിന്റെ ശക്തി), ഈ സംഖ്യയാണ് യൂണിക്കോഡിലെ അടിസ്ഥാന ഇടമായി സ്വീകരിച്ചത്. കൂടാതെ, ഇത് ഉപയോഗിച്ച് ഏകദേശം രണ്ട് ദശലക്ഷം പ്രതീകങ്ങൾ എൻകോഡ് ചെയ്യാനുള്ള വഴികളുണ്ട്, പക്ഷേ ഒരു ദശലക്ഷം അക്ഷരങ്ങളുടെ വിസ്തൃതമായ സ്ഥലത്ത് പരിമിതപ്പെടുത്തിയിരിക്കുന്നു. എന്നാൽ യൂണികോഡ് എൻകോഡിംഗിന്റെ ഈ വിജയകരമായ പതിപ്പ് പോലും ഇംഗ്ലീഷിൽ പ്രോഗ്രാമുകൾ എഴുതിയവർക്ക് വലിയ സംതൃപ്തി നൽകിയില്ല, കാരണം ASCII യുടെ വിപുലീകൃത പതിപ്പിൽ നിന്ന് UTF-16 ലേക്ക് മാറിയതിനുശേഷം, പ്രമാണങ്ങളുടെ ഭാരം ഇരട്ടിയായി (ഓരോ ബൈറ്റിനും Asci-യിലെ ഒരു പ്രതീകവും UTF-16-ൽ ഒരേ പ്രതീകത്തിന് രണ്ട് ബൈറ്റുകളും). യൂണികോഡ് കൺസോർഷ്യത്തിലെ എല്ലാവരുടെയും എല്ലാത്തിന്റെയും സംതൃപ്തിക്ക് വേണ്ടിയാണ് അത് തീരുമാനിച്ചത് ഒരു എൻകോഡിംഗുമായി വരികവേരിയബിൾ നീളം. UTF-8 എന്നാണ് ഇതിന്റെ പേര്. പേരിൽ എട്ട് ഉണ്ടായിരുന്നിട്ടും, ഇതിന് ശരിക്കും ഒരു വേരിയബിൾ ദൈർഘ്യമുണ്ട്, അതായത്. ഓരോ വാചക പ്രതീകവും ഒന്ന് മുതൽ ആറ് വരെ ബൈറ്റുകളുടെ ഒരു ശ്രേണിയിലേക്ക് എൻകോഡ് ചെയ്യാവുന്നതാണ്. പ്രായോഗികമായി, UTF-8-ൽ, ഒന്ന് മുതൽ നാല് ബൈറ്റുകൾ വരെയുള്ള ശ്രേണി മാത്രമേ ഉപയോഗിക്കുന്നുള്ളൂ, കാരണം നാല് ബൈറ്റുകളുടെ കോഡിന് പിന്നിൽ, സൈദ്ധാന്തികമായി ഒന്നും സങ്കൽപ്പിക്കാൻ പോലും സാധ്യമല്ല. ഇതിലെ എല്ലാ ലാറ്റിൻ അക്ഷരങ്ങളും പഴയ ASCII പോലെ ഒരു ബൈറ്റിൽ എൻകോഡ് ചെയ്തിരിക്കുന്നു. ശ്രദ്ധേയമായി, ലാറ്റിൻ മാത്രം എൻകോഡ് ചെയ്യുന്ന കാര്യത്തിൽ, യൂണികോഡ് മനസ്സിലാകാത്ത പ്രോഗ്രാമുകൾ പോലും UTF-8-ൽ എൻകോഡ് ചെയ്തിരിക്കുന്നത് വായിക്കും. ആ. അസൂക്കയുടെ അടിസ്ഥാന ഭാഗം യൂണികോഡ് കൺസോർഷ്യത്തിന്റെ ഈ ആശയത്തിലേക്ക് കടന്നുപോയി. UTF-8-ലെ സിറിലിക് പ്രതീകങ്ങൾ രണ്ട് ബൈറ്റുകളിലും, ഉദാഹരണത്തിന്, ജോർജിയൻ പ്രതീകങ്ങൾ മൂന്ന് ബൈറ്റുകളിലും എൻകോഡ് ചെയ്തിട്ടുണ്ട്. യൂണികോഡ് കൺസോർഷ്യം, UTF 16 ഉം 8 ഉം സൃഷ്ടിച്ച ശേഷം, പ്രധാന പ്രശ്നം പരിഹരിച്ചു - ഇപ്പോൾ ഞങ്ങൾക്കുണ്ട് ഫോണ്ടുകൾക്ക് ഒരൊറ്റ കോഡ് സ്പേസ് ഉണ്ട്. ഇപ്പോൾ അവരുടെ നിർമ്മാതാക്കൾക്ക് അവരുടെ ശക്തിയും കഴിവുകളും അടിസ്ഥാനമാക്കിയുള്ള വാചക പ്രതീകങ്ങളുടെ വെക്റ്റർ രൂപങ്ങൾ കൊണ്ട് മാത്രമേ ഇത് പൂരിപ്പിക്കാൻ കഴിയൂ. മുകളിലുള്ള "പ്രതീക പട്ടിക"യിൽ, വ്യത്യസ്ത ഫോണ്ടുകൾ വ്യത്യസ്ത എണ്ണം പ്രതീകങ്ങളെ പിന്തുണയ്ക്കുന്നതായി നിങ്ങൾക്ക് കാണാൻ കഴിയും. ചില യൂണികോഡ് സമ്പന്നമായ ഫോണ്ടുകൾ വളരെ വലുതായിരിക്കും. എന്നാൽ ഇപ്പോൾ അവ വ്യത്യസ്തമായത് വ്യത്യസ്ത എൻകോഡിംഗുകൾക്കായി സൃഷ്ടിക്കപ്പെട്ടതിലല്ല, മറിച്ച് ഫോണ്ട് നിർമ്മാതാവ് ഒന്നോ അല്ലെങ്കിൽ മറ്റൊരു വെക്റ്റർ ഫോം ഉപയോഗിച്ച് അവസാനം വരെ ഒരൊറ്റ കോഡ് സ്പേസ് പൂരിപ്പിച്ചതോ പൂരിപ്പിക്കാത്തതോ ആയ വസ്തുതയിലാണ്.
റഷ്യൻ അക്ഷരങ്ങൾക്ക് പകരം ക്രാക്കോസിയാബ്രി - എങ്ങനെ ശരിയാക്കാം
വാചകത്തിനുപകരം ക്രാക്കോസിയാബ്രാസ് എങ്ങനെ പ്രത്യക്ഷപ്പെടുന്നുവെന്ന് നോക്കാം, അല്ലെങ്കിൽ, മറ്റൊരു രീതിയിൽ പറഞ്ഞാൽ, റഷ്യൻ വാചകത്തിനുള്ള ശരിയായ എൻകോഡിംഗ് എങ്ങനെ തിരഞ്ഞെടുക്കപ്പെടുന്നുവെന്ന് നോക്കാം. യഥാർത്ഥത്തിൽ, നിങ്ങൾ ഇതേ ടെക്സ്റ്റ് സൃഷ്ടിക്കുന്നതോ എഡിറ്റ് ചെയ്യുന്നതോ ആയ പ്രോഗ്രാമിൽ ഇത് സജ്ജീകരിച്ചിരിക്കുന്നു, അല്ലെങ്കിൽ ടെക്സ്റ്റ് ശകലങ്ങൾ ഉപയോഗിച്ച് കോഡ്. ടെക്സ്റ്റ് ഫയലുകൾ എഡിറ്റുചെയ്യുന്നതിനും സൃഷ്ടിക്കുന്നതിനും, ഞാൻ വ്യക്തിപരമായി വളരെ മികച്ചതാണ്, എന്റെ അഭിപ്രായത്തിൽ, Html, PHP എഡിറ്റർ നോട്ട്പാഡ് ++ ഉപയോഗിക്കുന്നു. എന്നിരുന്നാലും, ഇതിന് നൂറിലധികം പ്രോഗ്രാമിംഗുകളുടെയും മാർക്ക്അപ്പ് ഭാഷകളുടെയും വാക്യഘടന ഹൈലൈറ്റ് ചെയ്യാൻ കഴിയും, കൂടാതെ പ്ലഗിനുകൾ ഉപയോഗിച്ച് വിപുലീകരിക്കാനുള്ള കഴിവുമുണ്ട്. ഈ അത്ഭുതകരമായ പ്രോഗ്രാമിന്റെ വിശദമായ അവലോകനം ചുവടെയുള്ള ലിങ്കിൽ വായിക്കുക. നോട്ട്പാഡ് ++ ന്റെ മുകളിലെ മെനുവിൽ "എൻകോഡിംഗുകൾ" എന്ന ഒരു ഇനം ഉണ്ട്, അവിടെ നിങ്ങളുടെ സൈറ്റിൽ സ്ഥിരസ്ഥിതിയായി ഉപയോഗിക്കുന്ന ഓപ്ഷനിലേക്ക് നിലവിലുള്ള ഓപ്ഷൻ പരിവർത്തനം ചെയ്യാൻ നിങ്ങൾക്ക് അവസരം ലഭിക്കും:ജൂംല 1.5-ഉം അതിലും ഉയർന്നതുമായ സൈറ്റിന്റെ കാര്യത്തിലും വേർഡ്പ്രസ്സിലെ ഒരു ബ്ലോഗിന്റെ കാര്യത്തിലും, ബഗുകൾ പ്രത്യക്ഷപ്പെടാതിരിക്കാൻ, ഓപ്ഷൻ തിരഞ്ഞെടുക്കുക BOM ഇല്ലാതെ UTF8. BOM എന്ന പ്രിഫിക്സ് എന്താണ്? UTF-16 എൻകോഡിംഗ് വികസിപ്പിച്ചപ്പോൾ, ചില കാരണങ്ങളാൽ, നേരിട്ടുള്ള ക്രമത്തിലും (ഉദാഹരണത്തിന്, 0A15) വിപരീതത്തിലും (150A) ഒരു പ്രതീക കോഡ് എഴുതാനുള്ള കഴിവ് പോലുള്ള ഒരു കാര്യം അറ്റാച്ചുചെയ്യാൻ അവർ തീരുമാനിച്ചു എന്നതാണ് വസ്തുത. . ഏത് ക്രമത്തിലാണ് കോഡുകൾ വായിക്കേണ്ടതെന്ന് പ്രോഗ്രാമുകൾ മനസിലാക്കാൻ, അത് കണ്ടുപിടിച്ചു BOM(ബൈറ്റ് ഓർഡർ മാർക്ക് അല്ലെങ്കിൽ, മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, ഒപ്പ്), ഇത് ഡോക്യുമെന്റുകളുടെ തുടക്കത്തിൽ തന്നെ മൂന്ന് അധിക ബൈറ്റുകൾ കൂട്ടിച്ചേർത്ത് പ്രകടിപ്പിച്ചു. UTF-8 എൻകോഡിംഗിൽ, യൂണികോഡ് കൺസോർഷ്യത്തിൽ BOM ഒന്നും നൽകിയിട്ടില്ല, അതിനാൽ ഒരു ഒപ്പ് (ഡോക്യുമെന്റിന്റെ തുടക്കത്തിലെ ഈ ഏറ്റവും കുപ്രസിദ്ധമായ അധിക മൂന്ന് ബൈറ്റുകൾ) ചേർക്കുന്നത് ചില പ്രോഗ്രാമുകളെ കോഡ് വായിക്കുന്നതിൽ നിന്ന് തടയുന്നു. അതിനാൽ, UTF-ൽ ഫയലുകൾ സേവ് ചെയ്യുമ്പോൾ, നമ്മൾ എപ്പോഴും BOM ഇല്ലാതെ (ഒപ്പ് ഇല്ലാതെ) ഓപ്ഷൻ തിരഞ്ഞെടുക്കണം. അതിനാൽ നിങ്ങൾ മുന്നേറുക ക്രാക്കോസിയാബ്രി ഇഴയുന്നതിൽ നിന്ന് സ്വയം പരിരക്ഷിക്കുക. ശ്രദ്ധേയമായി, വിൻഡോസിലെ ചില പ്രോഗ്രാമുകൾക്ക് ഇത് എങ്ങനെ ചെയ്യണമെന്ന് അറിയില്ല (അവർക്ക് BOM ഇല്ലാതെ UTF-8 ൽ ടെക്സ്റ്റ് സംരക്ഷിക്കാൻ കഴിയില്ല), ഉദാഹരണത്തിന്, അതേ കുപ്രസിദ്ധമായ വിൻഡോസ് നോട്ട്പാഡ്. ഇത് UTF-8-ൽ പ്രമാണം സംരക്ഷിക്കുന്നു, പക്ഷേ ഇപ്പോഴും അതിന്റെ തുടക്കത്തിലേക്ക് ഒപ്പ് (മൂന്ന് അധിക ബൈറ്റുകൾ) ചേർക്കുന്നു. മാത്രമല്ല, ഈ ബൈറ്റുകൾ എല്ലായ്പ്പോഴും സമാനമായിരിക്കും - നേരിട്ടുള്ള ക്രമത്തിൽ കോഡ് വായിക്കുക. എന്നാൽ സെർവറുകളിൽ, ഈ ചെറിയ കാര്യം കാരണം, ഒരു പ്രശ്നം ഉണ്ടാകാം - krakozyabry പുറത്തുവരും. അതിനാൽ, ഒരു തരത്തിലും സാധാരണ വിൻഡോസ് നോട്ട്പാഡ് ഉപയോഗിക്കരുത്നിങ്ങളുടെ സൈറ്റിന്റെ പ്രമാണങ്ങൾ എഡിറ്റുചെയ്യുന്നതിന്, നിങ്ങൾക്ക് ക്രാക്കോസിയാബ്രോവിന്റെ രൂപം ആവശ്യമില്ലെങ്കിൽ. ഇതിനകം സൂചിപ്പിച്ച നോട്ട്പാഡ് ++ എഡിറ്റർ ഏറ്റവും മികച്ചതും ലളിതവുമായ ഓപ്ഷനായി ഞാൻ കരുതുന്നു, അത് പ്രായോഗികമായി പോരായ്മകളൊന്നുമില്ല, ഗുണങ്ങൾ മാത്രം ഉൾക്കൊള്ളുന്നു. നോട്ട്പാഡ്++-ൽ, നിങ്ങൾ ഒരു എൻകോഡിംഗ് തിരഞ്ഞെടുക്കുമ്പോൾ, യുസിഎസ്-2 എൻകോഡിംഗിലേക്ക് ടെക്സ്റ്റ് പരിവർത്തനം ചെയ്യാനുള്ള ഓപ്ഷൻ നിങ്ങൾക്കുണ്ടാകും, അത് യുണികോഡ് സ്റ്റാൻഡേർഡിന് വളരെ അടുത്താണ്. നോട്ട്പാഡിൽ ANSI-യിൽ ടെക്സ്റ്റ് എൻകോഡ് ചെയ്യാനും സാധിക്കും, അതായത്. റഷ്യൻ ഭാഷയുമായി ബന്ധപ്പെട്ട്, ഇത് വിൻഡോസ് 1251 ആയിരിക്കും, ഞങ്ങൾ ഇതിനകം അല്പം മുകളിൽ വിവരിച്ചിരിക്കുന്നു. ഈ വിവരങ്ങൾ എവിടെ നിന്ന് വരുന്നു? നിങ്ങളുടെ വിൻഡോസ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന്റെ രജിസ്ട്രിയിൽ ഇത് എഴുതിയിട്ടുണ്ട് - ANSI-യുടെ കാര്യത്തിൽ ഏത് എൻകോഡിംഗ് തിരഞ്ഞെടുക്കണം, OEM-ന്റെ കാര്യത്തിൽ ഏതാണ് തിരഞ്ഞെടുക്കേണ്ടത് (റഷ്യൻ ഭാഷയ്ക്ക് ഇത് CP866 ആയിരിക്കും). നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ മറ്റൊരു ഡിഫോൾട്ട് ഭാഷ ഇൻസ്റ്റാൾ ചെയ്യുകയാണെങ്കിൽ, ഈ എൻകോഡിംഗുകൾ അതേ ഭാഷയിൽ ANSI അല്ലെങ്കിൽ OEM വിഭാഗത്തിൽ നിന്ന് സമാനമായവ ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കും. നിങ്ങൾക്ക് ആവശ്യമുള്ള എൻകോഡിംഗിൽ നോട്ട്പാഡ് ++-ൽ പ്രമാണം സംരക്ഷിച്ചതിന് ശേഷം അല്ലെങ്കിൽ എഡിറ്റിംഗിനായി സൈറ്റിൽ നിന്ന് പ്രമാണം തുറന്നതിന് ശേഷം, എഡിറ്ററിന്റെ താഴെ വലത് കോണിൽ നിങ്ങൾക്ക് അതിന്റെ പേര് കാണാൻ കഴിയും: krakozyabrov ഒഴിവാക്കാൻ, മുകളിൽ വിവരിച്ച പ്രവർത്തനങ്ങൾക്ക് പുറമേ, സൈറ്റിന്റെ എല്ലാ പേജുകളുടെയും സോഴ്സ് കോഡിന്റെ തലക്കെട്ടിൽ ഈ എൻകോഡിംഗിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ എഴുതുന്നത് ഉപയോഗപ്രദമാകും, അതുവഴി സെർവറിലോ പ്രാദേശിക ഹോസ്റ്റിലോ ആശയക്കുഴപ്പം ഉണ്ടാകില്ല. പൊതുവേ, Html ഒഴികെയുള്ള എല്ലാ ഹൈപ്പർടെക്സ്റ്റ് മാർക്ക്അപ്പ് ഭാഷകളിലും, ഒരു പ്രത്യേക xml ഡിക്ലറേഷൻ ഉപയോഗിക്കുന്നു, അത് ടെക്സ്റ്റ് എൻകോഡിംഗ് വ്യക്തമാക്കുന്നു.< ? xml version= "1.0" encoding= "windows-1251" ? >കോഡ് പാഴ്സ് ചെയ്യുന്നതിന് മുമ്പ്, ഏത് പതിപ്പാണ് ഉപയോഗിക്കുന്നതെന്നും ആ ഭാഷയുടെ പ്രതീക കോഡുകൾ എങ്ങനെ കൃത്യമായി വ്യാഖ്യാനിക്കണമെന്നും ബ്രൗസറിന് അറിയാം. എന്നാൽ ശ്രദ്ധേയമായ കാര്യം, നിങ്ങൾ സ്ഥിരസ്ഥിതി യൂണികോഡിൽ പ്രമാണം സംരക്ഷിക്കുകയാണെങ്കിൽ, ഈ xml പ്രഖ്യാപനം ഒഴിവാക്കാവുന്നതാണ് (ബിഒഎം ഇല്ലെങ്കിൽ UTF-8 അല്ലെങ്കിൽ BOM ഉണ്ടെങ്കിൽ UTF-16 ആയി എൻകോഡിംഗ് പരിഗണിക്കും). ഒരു Html ഭാഷാ പ്രമാണത്തിന്റെ കാര്യത്തിൽ, വ്യക്തമാക്കാൻ എൻകോഡിംഗ് ഉപയോഗിക്കുന്നു മെറ്റാ ഘടകം, തുറക്കുന്നതിനും അടയ്ക്കുന്നതിനും ഇടയിൽ എഴുതിയിരിക്കുന്ന ഹെഡ് ടാഗുകൾ: < head> . . . < meta charset= "utf-8" > . . . < / head>ഈ എൻട്രി Html 4.01-ലെ സ്റ്റാൻഡേർഡിൽ നിന്ന് തികച്ചും വ്യത്യസ്തമാണ്, എന്നാൽ സാവധാനം അവതരിപ്പിക്കുന്ന പുതിയ Html 5 സ്റ്റാൻഡേർഡുമായി പൂർണ്ണമായും പൊരുത്തപ്പെടുന്നു, നിലവിൽ ഉപയോഗിക്കുന്ന ഏത് ബ്രൗസറിലും ഇത് 100% ശരിയായി മനസ്സിലാക്കും. സിദ്ധാന്തത്തിൽ, ഡോക്യുമെന്റിന്റെ Html എൻകോഡിംഗ് ഉള്ള മെറ്റാ എലമെന്റ് ഇടുന്നതാണ് നല്ലത് പ്രമാണത്തിന്റെ തലക്കെട്ടിൽ കഴിയുന്നത്ര ഉയർന്നത്അതിനാൽ മീറ്റിംഗ് സമയത്ത്, ആദ്യ പ്രതീകത്തിന്റെ വാചകത്തിൽ അടിസ്ഥാന ANSI യിൽ നിന്ന് അല്ല (എല്ലായ്പ്പോഴും ശരിയായി വായിക്കുകയും ഏത് വ്യതിയാനത്തിലും വായിക്കുകയും ചെയ്യും), ഈ പ്രതീകങ്ങളുടെ കോഡുകൾ എങ്ങനെ വ്യാഖ്യാനിക്കണം എന്നതിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ ബ്രൗസറിന് ഇതിനകം ഉണ്ടായിരിക്കണം. ആദ്യത്തേതിലേക്കുള്ള ലിങ്ക്
ഹലോ, ബ്ലോഗ് സൈറ്റിന്റെ പ്രിയ വായനക്കാർ. സൈറ്റിലും പ്രോഗ്രാമുകളിലും ക്രാക്കോസിയാബ്രുകൾ എവിടെ നിന്നാണ് വരുന്നത്, ഏത് ടെക്സ്റ്റ് എൻകോഡിംഗുകൾ നിലവിലുണ്ട്, ഏതൊക്കെ ഉപയോഗിക്കണം എന്നതിനെക്കുറിച്ച് ഇന്ന് ഞങ്ങൾ നിങ്ങളോട് സംസാരിക്കും. അടിസ്ഥാന ASCII മുതൽ അതിന്റെ വിപുലീകൃത പതിപ്പുകൾ CP866, KOI8-R, Windows 1251 എന്നിവയിൽ നിന്ന് ആരംഭിച്ച്, യൂണികോഡ് കൺസോർഷ്യം UTF 16, 8 എന്നിവയുടെ ആധുനിക എൻകോഡിംഗുകളിൽ അവസാനിക്കുന്ന അവരുടെ വികസനത്തിന്റെ ചരിത്രം നമുക്ക് സൂക്ഷ്മമായി പരിശോധിക്കാം.
ചിലർക്ക്, ഈ വിവരങ്ങൾ അനാവശ്യമായി തോന്നിയേക്കാം, എന്നാൽ ക്രാൾഡ് ഔട്ട് ക്രാക്കോസിയാബ്രുകളെ (വായിക്കാനാകാത്ത അക്ഷരക്കൂട്ടം) സംബന്ധിച്ച് എനിക്ക് പ്രത്യേകമായി എത്ര ചോദ്യങ്ങൾ ഉണ്ടെന്ന് നിങ്ങൾക്കറിയാം. ഈ ലേഖനത്തിന്റെ വാചകത്തിലേക്ക് എല്ലാവരേയും റഫർ ചെയ്യാനും സ്വതന്ത്രമായി എന്റെ ജാംബുകൾക്കായി നോക്കാനും ഇപ്പോൾ എനിക്ക് അവസരം ലഭിക്കും. ശരി, വിവരങ്ങൾ ഉൾക്കൊള്ളാൻ തയ്യാറാകൂ, കഥയുടെ ഗതി പിന്തുടരാൻ ശ്രമിക്കുക.
ASCII - ലാറ്റിനിനായുള്ള അടിസ്ഥാന ടെക്സ്റ്റ് എൻകോഡിംഗ്
ടെക്സ്റ്റ് എൻകോഡിംഗുകളുടെ വികസനം ഐടി വ്യവസായത്തിന്റെ രൂപീകരണത്തോടൊപ്പം ഒരേസമയം സംഭവിച്ചു, ഈ സമയത്ത് അവർക്ക് വളരെയധികം മാറ്റങ്ങൾ വരുത്താൻ കഴിഞ്ഞു. ചരിത്രപരമായി, ഇതെല്ലാം ആരംഭിച്ചത് ഇബിസിഡിഐസിയിൽ നിന്നാണ്, ഇത് റഷ്യൻ ഉച്ചാരണത്തിൽ തികച്ചും വ്യത്യസ്തമായിരുന്നു, ഇത് ലാറ്റിൻ അക്ഷരമാലയിലെ അക്ഷരങ്ങൾ, അറബി അക്കങ്ങൾ, വിരാമചിഹ്നങ്ങൾ എന്നിവ നിയന്ത്രണ പ്രതീകങ്ങളോടെ എൻകോഡ് ചെയ്യുന്നത് സാധ്യമാക്കി.
എന്നിട്ടും, ആധുനിക ടെക്സ്റ്റ് എൻകോഡിംഗുകളുടെ വികസനത്തിന്റെ ആരംഭ പോയിന്റ് പ്രസിദ്ധമായി കണക്കാക്കണം ആസ്കി(അമേരിക്കൻ സ്റ്റാൻഡേർഡ് കോഡ് ഫോർ ഇൻഫർമേഷൻ ഇന്റർചേഞ്ച്, റഷ്യൻ ഭാഷയിൽ ഇത് സാധാരണയായി "ആസ്കി" എന്ന് ഉച്ചരിക്കുന്നു). ഇംഗ്ലീഷ് ഉപയോക്താക്കൾ ഏറ്റവും സാധാരണയായി ഉപയോഗിക്കുന്ന ആദ്യത്തെ 128 പ്രതീകങ്ങൾ - , അറബിക് അക്കങ്ങൾ, വിരാമചിഹ്നങ്ങൾ എന്നിവ ഇത് വിവരിക്കുന്നു.
ASCII-ൽ വിവരിച്ചിരിക്കുന്ന ഈ 128 പ്രതീകങ്ങളിൽ പോലും, ബ്രാക്കറ്റുകൾ, ബാറുകൾ, നക്ഷത്രചിഹ്നങ്ങൾ തുടങ്ങിയ ചില സേവന പ്രതീകങ്ങൾ ഉണ്ടായിരുന്നു. വാസ്തവത്തിൽ, നിങ്ങൾക്ക് അവ സ്വയം കാണാൻ കഴിയും:
ASCII-യുടെ യഥാർത്ഥ പതിപ്പിൽ നിന്നുള്ള ഈ 128 പ്രതീകങ്ങളാണ് സ്റ്റാൻഡേർഡ് ആയി മാറിയത്, മറ്റേതെങ്കിലും എൻകോഡിംഗിൽ നിങ്ങൾ തീർച്ചയായും അവരെ കണ്ടുമുട്ടുകയും അവ ആ ക്രമത്തിൽ നിൽക്കുകയും ചെയ്യും.
എന്നാൽ ഒരു ബൈറ്റ് വിവരത്തിന്റെ സഹായത്തോടെ, 128 അല്ല, 256 വ്യത്യസ്ത മൂല്യങ്ങൾ (എട്ടിന്റെ പവർ രണ്ട് മുതൽ 256 വരെ) എൻകോഡ് ചെയ്യാൻ കഴിയും എന്നതാണ് വസ്തുത. അസുക, ഒരു മുഴുവൻ പരമ്പര വിപുലീകരിച്ച ASCII എൻകോഡിംഗുകൾ, ഇതിൽ, 128 അടിസ്ഥാന പ്രതീകങ്ങൾക്ക് പുറമേ, ദേശീയ എൻകോഡിംഗിന്റെ ചിഹ്നങ്ങൾ എൻകോഡ് ചെയ്യാനും സാധിച്ചു (ഉദാഹരണത്തിന്, റഷ്യൻ).
ഇവിടെ, ഒരുപക്ഷേ, വിവരണത്തിൽ ഉപയോഗിക്കുന്ന നമ്പർ സിസ്റ്റങ്ങളെക്കുറിച്ച് കുറച്ചുകൂടി പറയേണ്ടതാണ്. ഒന്നാമതായി, നിങ്ങൾക്കെല്ലാവർക്കും അറിയാവുന്നതുപോലെ, ഒരു കമ്പ്യൂട്ടർ ബൈനറി സിസ്റ്റത്തിലെ അക്കങ്ങൾ ഉപയോഗിച്ച് മാത്രമേ പ്രവർത്തിക്കൂ, അതായത് പൂജ്യങ്ങളും വണ്ണുകളും ("ബൂളിയൻ ആൾജിബ്ര", ആരെങ്കിലും ഒരു ഇൻസ്റ്റിറ്റ്യൂട്ടിലോ സ്കൂളിലോ പഠിച്ചിട്ടുണ്ടെങ്കിൽ). , ഓരോന്നും ഡിഗ്രിയിലെ രണ്ട്, പൂജ്യത്തിൽ നിന്ന് തുടങ്ങി ഏഴാമത്തേതിൽ രണ്ട് വരെ:
അത്തരമൊരു നിർമ്മിതിയിൽ സാധ്യമായ പൂജ്യങ്ങളുടെയും ഒന്നിന്റെയും സംയോജനങ്ങളിൽ 256 മാത്രമേ ഉണ്ടാകൂ എന്ന് മനസ്സിലാക്കാൻ പ്രയാസമില്ല.ഒരു സംഖ്യയെ ബൈനറിയിൽ നിന്ന് ദശാംശത്തിലേക്ക് പരിവർത്തനം ചെയ്യുന്നത് വളരെ ലളിതമാണ്. രണ്ടിന്റെ എല്ലാ ശക്തികളും നിങ്ങൾ കൂട്ടിച്ചേർക്കേണ്ടതുണ്ട്, അതിൽ ഒന്നുണ്ട്.
ഞങ്ങളുടെ ഉദാഹരണത്തിൽ, ഇത് 1 (2 മുതൽ പൂജ്യത്തിന്റെ ശക്തി) പ്ലസ് 8 (രണ്ട് മുതൽ 3 വരെ), പ്ലസ് 32 (രണ്ട് മുതൽ അഞ്ചാം വരെ), പ്ലസ് 64 (ആറാം), പ്ലസ് 128 (ഏഴാം വരെ) . ദശാംശ നൊട്ടേഷനിൽ ആകെ 233 ലഭിക്കുന്നു. നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, എല്ലാം വളരെ ലളിതമാണ്.
എന്നാൽ നിങ്ങൾ ASCII പ്രതീകങ്ങളുള്ള പട്ടിക സൂക്ഷ്മമായി പരിശോധിച്ചാൽ, അവ ഹെക്സാഡെസിമൽ എൻകോഡിംഗിൽ പ്രതിനിധീകരിക്കുന്നത് നിങ്ങൾ കാണും. ഉദാഹരണത്തിന്, "നക്ഷത്രചിഹ്നം" അസ്കിയിൽ ഹെക്സാഡെസിമൽ സംഖ്യ 2A യുമായി യോജിക്കുന്നു. അറബി അക്കങ്ങൾക്ക് പുറമേ, ഹെക്സാഡെസിമൽ സംഖ്യാ സമ്പ്രദായം എ (പത്ത് എന്നർത്ഥം) മുതൽ എഫ് (പതിനഞ്ച് എന്നർത്ഥം) വരെയുള്ള ലാറ്റിൻ അക്ഷരങ്ങളും ഉപയോഗിക്കുന്നുണ്ടെന്ന് നിങ്ങൾക്കറിയാം.
നന്നായി, വേണ്ടി ബൈനറിയെ ഹെക്സാഡെസിമലിലേക്ക് പരിവർത്തനം ചെയ്യുകഇനിപ്പറയുന്ന ലളിതവും ദൃശ്യപരവുമായ രീതി അവലംബിക്കുക. മുകളിലെ സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്നതുപോലെ, വിവരങ്ങളുടെ ഓരോ ബൈറ്റും നാല് ബിറ്റുകളുടെ രണ്ട് ഭാഗങ്ങളായി തിരിച്ചിരിക്കുന്നു. അത്. ഓരോ പകുതി ബൈറ്റിലും, പതിനാറ് മൂല്യങ്ങൾ മാത്രമേ ബൈനറി കോഡിൽ (രണ്ട് മുതൽ നാലാമത്തെ പവർ വരെ) എൻകോഡ് ചെയ്യാൻ കഴിയൂ, അത് ഒരു ഹെക്സാഡെസിമൽ സംഖ്യയായി എളുപ്പത്തിൽ പ്രതിനിധീകരിക്കാം.
മാത്രമല്ല, ബൈറ്റിന്റെ ഇടത് പകുതിയിൽ, പൂജ്യത്തിൽ നിന്ന് ആരംഭിക്കുന്ന ഡിഗ്രികൾ വീണ്ടും എണ്ണേണ്ടത് ആവശ്യമാണ്, സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്നതുപോലെയല്ല. തൽഫലമായി, ലളിതമായ കണക്കുകൂട്ടലുകൾ വഴി, സ്ക്രീൻഷോട്ടിൽ E9 എന്ന നമ്പർ എൻകോഡ് ചെയ്തിട്ടുണ്ടെന്ന് നമുക്ക് ലഭിക്കും. എന്റെ യുക്തിയുടെ ഗതിയും ഈ പസിലിനുള്ള പരിഹാരവും നിങ്ങൾക്ക് വ്യക്തമായിരിക്കുമെന്ന് ഞാൻ പ്രതീക്ഷിക്കുന്നു. ശരി, ഇപ്പോൾ നമുക്ക് തുടരാം, വാസ്തവത്തിൽ, ടെക്സ്റ്റ് എൻകോഡിംഗുകളെക്കുറിച്ച് സംസാരിക്കാം.
അസുകയുടെ വിപുലീകൃത പതിപ്പുകൾ - സ്യൂഡോഗ്രാഫിക്സുള്ള CP866, KOI8-R എൻകോഡിംഗുകൾ
അതിനാൽ, ഞങ്ങൾ ASCII നെക്കുറിച്ച് സംസാരിക്കാൻ തുടങ്ങി, അത് എല്ലാ ആധുനിക എൻകോഡിംഗുകളുടെയും (Windows 1251, യൂണികോഡ്, UTF 8) വികസനത്തിന്റെ ആരംഭ പോയിന്റായിരുന്നു.
തുടക്കത്തിൽ, അതിൽ ലാറ്റിൻ അക്ഷരമാലയുടെയും അറബി അക്കങ്ങളുടെയും മറ്റെന്തെങ്കിലും അക്ഷരങ്ങളുടെയും 128 പ്രതീകങ്ങൾ മാത്രമേ അടങ്ങിയിട്ടുള്ളൂ, എന്നാൽ വിപുലീകൃത പതിപ്പിൽ ഒരു ബൈറ്റ് വിവരങ്ങളിൽ എൻകോഡ് ചെയ്യാൻ കഴിയുന്ന എല്ലാ 256 മൂല്യങ്ങളും ഉപയോഗിക്കാൻ സാധിച്ചു. ആ. നിങ്ങളുടെ ഭാഷയിലെ അക്ഷരങ്ങളുടെ പ്രതീകങ്ങൾ Asci-യിലേക്ക് ചേർക്കുന്നത് സാധ്യമായി.
ഇവിടെ വിശദീകരിക്കാൻ ഒരിക്കൽ കൂടി വ്യതിചലിക്കേണ്ടതുണ്ട് - നിങ്ങൾക്ക് എന്തിനാണ് കോഡിംഗ് വേണ്ടത്?വാചകങ്ങൾ, എന്തുകൊണ്ട് അത് വളരെ പ്രധാനമാണ്. നിങ്ങളുടെ കമ്പ്യൂട്ടർ സ്ക്രീനിലെ പ്രതീകങ്ങൾ രണ്ട് കാര്യങ്ങളുടെ അടിസ്ഥാനത്തിലാണ് രൂപപ്പെടുന്നത് - എല്ലാത്തരം പ്രതീകങ്ങളുടെയും വെക്റ്റർ ആകൃതികളുടെ (പ്രാതിനിധ്യങ്ങൾ) സെറ്റുകൾ (അവ കോ ഫയലുകളിലാണ്) ഈ വെക്റ്റർ രൂപങ്ങളിൽ നിന്ന് പുറത്തെടുക്കാൻ നിങ്ങളെ അനുവദിക്കുന്ന ഒരു കോഡ് ( ഫോണ്ട് ഫയൽ) നിങ്ങൾ ശരിയായ സ്ഥലത്ത് തിരുകേണ്ട പ്രതീകം.
വെക്റ്റർ ഫോമുകൾക്ക് ഫോണ്ടുകൾ ഉത്തരവാദികളാണെന്ന് വ്യക്തമാണ്, എന്നാൽ ഓപ്പറേറ്റിംഗ് സിസ്റ്റവും അതിൽ ഉപയോഗിക്കുന്ന പ്രോഗ്രാമുകളും എൻകോഡിംഗിന് ഉത്തരവാദികളാണ്. ആ. നിങ്ങളുടെ കമ്പ്യൂട്ടറിലെ ഏത് ടെക്സ്റ്റും ഒരു കൂട്ടം ബൈറ്റുകളായിരിക്കും, അവ ഓരോന്നും ഈ വാചകത്തിന്റെ ഒരു പ്രതീകം എൻകോഡ് ചെയ്യുന്നു.
ഈ വാചകം സ്ക്രീനിൽ പ്രദർശിപ്പിക്കുന്ന പ്രോഗ്രാം (ടെക്സ്റ്റ് എഡിറ്റർ, ബ്രൗസർ മുതലായവ), കോഡ് പാഴ്സ് ചെയ്യുമ്പോൾ, അടുത്ത പ്രതീകത്തിന്റെ എൻകോഡിംഗ് വായിക്കുകയും ഈ വാചകം പ്രദർശിപ്പിക്കുന്നതിന് ബന്ധിപ്പിച്ചിരിക്കുന്ന ആവശ്യമുള്ള ഫോണ്ട് ഫയലിൽ അനുബന്ധ വെക്റ്റർ ഫോമിനായി തിരയുകയും ചെയ്യുന്നു. പ്രമാണം. എല്ലാം ലളിതവും നിസ്സാരവുമാണ്.
ഇതിനർത്ഥം, നമുക്ക് ആവശ്യമുള്ള ഏത് പ്രതീകവും എൻകോഡ് ചെയ്യുന്നതിന് (ഉദാഹരണത്തിന്, ദേശീയ അക്ഷരമാലയിൽ നിന്ന്), രണ്ട് നിബന്ധനകൾ പാലിക്കേണ്ടതുണ്ട് - ഈ പ്രതീകത്തിന്റെ വെക്റ്റർ ഫോം ഉപയോഗിച്ച ഫോണ്ടിൽ ആയിരിക്കണം, കൂടാതെ ഈ പ്രതീകം വിപുലീകൃത ASCII എൻകോഡിംഗുകളിൽ എൻകോഡ് ചെയ്യാവുന്നതാണ്. ഒരു ബൈറ്റിൽ. അതിനാൽ, അത്തരം ഓപ്ഷനുകളുടെ ഒരു കൂട്ടം ഉണ്ട്. റഷ്യൻ ഭാഷയുടെ പ്രതീകങ്ങൾ എൻകോഡ് ചെയ്യുന്നതിന് മാത്രം, വിപുലീകരിച്ച അസ്കയുടെ നിരവധി ഇനങ്ങൾ ഉണ്ട്.
ഉദാഹരണത്തിന്, തുടക്കത്തിൽ ഉണ്ടായിരുന്നു CP866, അതിൽ റഷ്യൻ അക്ഷരമാലയിലെ പ്രതീകങ്ങൾ ഉപയോഗിക്കാൻ സാധിച്ചു, അത് ASCII-യുടെ വിപുലീകൃത പതിപ്പായിരുന്നു.
ആ. മുകളിലെ സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്ന അസുകയുടെ (128 ലാറ്റിൻ പ്രതീകങ്ങളും അക്കങ്ങളും മറ്റേതെങ്കിലും ഭ്രാന്തും) അതിന്റെ മുകൾ ഭാഗം പൂർണ്ണമായും പൊരുത്തപ്പെടുന്നു, എന്നാൽ CP866 എൻകോഡിംഗുള്ള പട്ടികയുടെ താഴത്തെ ഭാഗത്ത് സ്ക്രീൻഷോട്ടിൽ സൂചിപ്പിച്ചിരിക്കുന്ന ഫോം ഉണ്ടായിരുന്നു. താഴെ, മറ്റൊരു 128 അടയാളങ്ങൾ എൻകോഡ് ചെയ്യാൻ അനുവദിച്ചിരിക്കുന്നു (റഷ്യൻ അക്ഷരങ്ങളും എല്ലാത്തരം സ്യൂഡോഗ്രാഫിക്സും അവിടെ):
നിങ്ങൾ കാണുന്നത്, വലത് കോളത്തിൽ, അക്കങ്ങൾ 8 ൽ ആരംഭിക്കുന്നു, കാരണം 0 മുതൽ 7 വരെയുള്ള സംഖ്യകൾ ASCII ബേസ് ഭാഗത്തെ പരാമർശിക്കുന്നു (ആദ്യത്തെ സ്ക്രീൻഷോട്ട് കാണുക). അത്. CP866 ലെ റഷ്യൻ അക്ഷരമായ "M" ന് 9C കോഡ് ഉണ്ടായിരിക്കും (അത് അനുബന്ധ വരിയുടെ 9 ന്റെ കവലയിലും ഹെക്സാഡെസിമൽ നമ്പർ സിസ്റ്റത്തിലെ C നമ്പറുള്ള നിരയിലും സ്ഥിതിചെയ്യുന്നു), അത് ഒരു ബൈറ്റ് വിവരത്തിൽ എഴുതാം. , കൂടാതെ റഷ്യൻ അക്ഷരങ്ങളുള്ള അനുയോജ്യമായ ഒരു ഫോണ്ട് ഉണ്ടെങ്കിൽ, പ്രശ്നങ്ങളില്ലാത്ത ഈ കത്ത് ടെക്സ്റ്റിൽ പ്രദർശിപ്പിക്കും.
ഈ തുക എവിടെ നിന്ന് വന്നു? CP866 ലെ സ്യൂഡോഗ്രാഫിക്സ്? റഷ്യൻ ടെക്സ്റ്റിനായുള്ള ഈ എൻകോഡിംഗ് ആ രോമമുള്ള വർഷങ്ങളിൽ വികസിപ്പിച്ചെടുത്തതാണ്, ഇപ്പോൾ ഉള്ളതുപോലെ ഗ്രാഫിക്കൽ ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളുടെ വിതരണം ഇല്ലായിരുന്നു. ദോസയിലും സമാനമായ ടെക്സ്റ്റ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളിലും, കപട ഗ്രാഫിക്സ് എങ്ങനെയെങ്കിലും ടെക്സ്റ്റുകളുടെ രൂപകൽപ്പന വൈവിധ്യവത്കരിക്കുന്നത് സാധ്യമാക്കി, അതിനാൽ ഇത് CP866 ലും അസുകയുടെ വിപുലീകൃത പതിപ്പുകളുടെ വിഭാഗത്തിൽ നിന്നുള്ള മറ്റെല്ലാ സമപ്രായക്കാരിലും സമൃദ്ധമാണ്.
CP866 വിതരണം ചെയ്തത് IBM ആണ്, എന്നാൽ ഇതിനുപുറമെ, റഷ്യൻ പ്രതീകങ്ങൾക്കായി നിരവധി എൻകോഡിംഗുകൾ വികസിപ്പിച്ചെടുത്തിട്ടുണ്ട്, ഉദാഹരണത്തിന്, അതേ തരം (വിപുലീകരിച്ച ASCII) ആട്രിബ്യൂട്ട് ചെയ്യാം. KOI8-R:
അതിന്റെ പ്രവർത്തനത്തിന്റെ തത്വം അൽപ്പം മുമ്പ് വിവരിച്ച CP866 ന് സമാനമാണ് - ടെക്സ്റ്റിന്റെ ഓരോ പ്രതീകവും ഒരൊറ്റ ബൈറ്റ് ഉപയോഗിച്ച് എൻകോഡ് ചെയ്തിരിക്കുന്നു. സ്ക്രീൻഷോട്ട് KOI8-R പട്ടികയുടെ രണ്ടാം പകുതി കാണിക്കുന്നു, കാരണം ഈ ലേഖനത്തിലെ ആദ്യ സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്ന അടിസ്ഥാന അസൂക്കയുമായി ആദ്യ പകുതി പൂർണ്ണമായും യോജിക്കുന്നു.
KOI8-R എൻകോഡിംഗിന്റെ സവിശേഷതകളിൽ, അതിന്റെ പട്ടികയിലെ റഷ്യൻ അക്ഷരങ്ങൾ അക്ഷരമാലാ ക്രമത്തിലല്ല എന്നത് ശ്രദ്ധിക്കാവുന്നതാണ്, ഉദാഹരണത്തിന്, CP866-ൽ ചെയ്തു.
നിങ്ങൾ ആദ്യത്തെ സ്ക്രീൻഷോട്ട് (എല്ലാ വിപുലീകൃത എൻകോഡിംഗുകളിലും ഉൾപ്പെടുത്തിയിരിക്കുന്ന അടിസ്ഥാന ഭാഗത്തിന്റെ) നോക്കുകയാണെങ്കിൽ, KOI8-R റഷ്യൻ അക്ഷരങ്ങൾ ലാറ്റിൻ അക്ഷരമാല വ്യഞ്ജനാക്ഷരത്തിന്റെ അക്ഷരങ്ങൾ പോലെ പട്ടികയുടെ അതേ സെല്ലുകളിൽ സ്ഥിതിചെയ്യുന്നത് നിങ്ങൾ ശ്രദ്ധിക്കും. മേശയുടെ ആദ്യ ഭാഗത്ത് നിന്ന് അവരോടൊപ്പം. ഒരു ബിറ്റ് (രണ്ട് മുതൽ ഏഴാമത്തെ പവർ അല്ലെങ്കിൽ 128 വരെ) മാത്രം ഉപേക്ഷിച്ച് റഷ്യൻ ഭാഷയിൽ നിന്ന് ലാറ്റിൻ അക്ഷരങ്ങളിലേക്ക് മാറുന്നതിനുള്ള സൗകര്യത്തിനായി ഇത് ചെയ്തു.
വിൻഡോസ് 1251 - ASCII യുടെ ആധുനിക പതിപ്പും എന്തുകൊണ്ട് krakozyabry ക്രാൾ ഔട്ട്
ഗ്രാഫിക്കൽ ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾ ജനപ്രീതി നേടുകയും അവയിൽ സ്യൂഡോഗ്രാഫിക്സ് ഉപയോഗിക്കേണ്ടതിന്റെ ആവശ്യകത ക്രമേണ അപ്രത്യക്ഷമാകുകയും ചെയ്തതാണ് ടെക്സ്റ്റ് എൻകോഡിംഗുകളുടെ കൂടുതൽ വികസനത്തിന് കാരണം. തൽഫലമായി, ഒരു മുഴുവൻ ഗ്രൂപ്പും ഉടലെടുത്തു, അത് സാരാംശത്തിൽ, അസൂക്കയുടെ വിപുലീകൃത പതിപ്പുകളായിരുന്നു (ടെക്സ്റ്റിന്റെ ഒരു പ്രതീകം ഒരു ബൈറ്റ് വിവരങ്ങൾ ഉപയോഗിച്ച് എൻകോഡ് ചെയ്തിരിക്കുന്നു), എന്നാൽ സ്യൂഡോഗ്രാഫിക് പ്രതീകങ്ങൾ ഉപയോഗിക്കാതെ.
അമേരിക്കൻ സ്റ്റാൻഡേർഡ് ഇൻസ്റ്റിറ്റ്യൂട്ട് വികസിപ്പിച്ച ANSI എൻകോഡിംഗുകൾ എന്ന് വിളിക്കപ്പെടുന്നവയാണ് അവ. സാധാരണ ഭാഷയിൽ, റഷ്യൻ ഭാഷയെ പിന്തുണയ്ക്കുന്ന വേരിയന്റിനായി സിറിലിക് എന്ന പേരും ഉപയോഗിച്ചു. ഇതിന് ഒരു ഉദാഹരണം നൽകാം.
മുമ്പ് ഉപയോഗിച്ച CP866, KOI8-R എന്നിവയിൽ നിന്ന് ഇത് അനുകൂലമായി വ്യത്യാസപ്പെട്ടിരിക്കുന്നു, അതിൽ സ്യൂഡോഗ്രാഫിക് ചിഹ്നങ്ങളുടെ സ്ഥാനം റഷ്യൻ ടൈപ്പോഗ്രാഫിയുടെ (ആക്സന്റ് മാർക്ക് ഒഴികെ) നഷ്ടപ്പെട്ട ചിഹ്നങ്ങളും സ്ലാവിക് ഭാഷകളിൽ ഉപയോഗിച്ചിരിക്കുന്ന ചിഹ്നങ്ങളും എടുത്തതാണ്. റഷ്യൻ (ഉക്രേനിയൻ, ബെലാറഷ്യൻ മുതലായവ) ):
റഷ്യൻ ഭാഷാ എൻകോഡിംഗുകളുടെ സമൃദ്ധി കാരണം, ഫോണ്ട് നിർമ്മാതാക്കൾക്കും സോഫ്റ്റ്വെയർ നിർമ്മാതാക്കൾക്കും നിരന്തരം തലവേദനയുണ്ടായിരുന്നു, പ്രിയ വായനക്കാരായ ഞങ്ങൾ പലപ്പോഴും വളരെ കുപ്രസിദ്ധരായിരുന്നു. ക്രാക്കോസിയാബ്രിവാചകത്തിൽ ഉപയോഗിച്ചിരിക്കുന്ന പതിപ്പുമായി ആശയക്കുഴപ്പം ഉണ്ടായപ്പോൾ.
ഇ-മെയിൽ വഴി സന്ദേശങ്ങൾ അയയ്ക്കുമ്പോഴും സ്വീകരിക്കുമ്പോഴും പലപ്പോഴും അവർ പുറത്തായി, ഇത് വളരെ സങ്കീർണ്ണമായ പരിവർത്തന പട്ടികകൾ സൃഷ്ടിക്കുന്നതിലേക്ക് നയിച്ചു, ഇത് യഥാർത്ഥത്തിൽ റൂട്ടിൽ ഈ പ്രശ്നം പരിഹരിക്കാൻ കഴിഞ്ഞില്ല, മാത്രമല്ല പലപ്പോഴും ഉപയോക്താക്കൾ കുപ്രസിദ്ധമായത് ഒഴിവാക്കാൻ കത്തിടപാടുകൾക്ക് ഉപയോഗിക്കുന്നു. CP866, KOI8-R അല്ലെങ്കിൽ Windows 1251 പോലുള്ള റഷ്യൻ എൻകോഡിംഗുകൾ ഉപയോഗിക്കുമ്പോൾ krakozyabrs.
വാസ്തവത്തിൽ, റഷ്യൻ വാചകത്തിനുപകരം പുറത്തുവന്ന ക്രാക്കോസിയാബ്രി, ഈ ഭാഷയുടെ എൻകോഡിംഗിന്റെ തെറ്റായ ഉപയോഗത്തിന്റെ ഫലമാണ്, ഇത് വാചക സന്ദേശം യഥാർത്ഥത്തിൽ എൻകോഡ് ചെയ്ത ഒന്നുമായി പൊരുത്തപ്പെടുന്നില്ല.
ഉദാഹരണത്തിന്, നിങ്ങൾ വിൻഡോസ് 1251 കോഡ് ടേബിൾ ഉപയോഗിച്ച് CP866 ഉപയോഗിച്ച് എൻകോഡ് ചെയ്ത പ്രതീകങ്ങൾ പ്രദർശിപ്പിക്കാൻ ശ്രമിക്കുകയാണെങ്കിൽ, അതേ ക്രാക്കോസിയാബ്രി (അർത്ഥമില്ലാത്ത പ്രതീക സെറ്റ്) പുറത്തുവരും, സന്ദേശ വാചകം പൂർണ്ണമായും മാറ്റിസ്ഥാപിക്കും.
സൈറ്റിൽ സ്ഥിരസ്ഥിതിയായി ഉപയോഗിക്കുന്ന തെറ്റായ എൻകോഡിംഗിലോ അല്ലെങ്കിൽ ദൃശ്യമാകാത്ത കോഡിലേക്ക് ഗ്യാഗ് ചേർക്കുന്ന തെറ്റായ ടെക്സ്റ്റ് എഡിറ്ററിലോ റഷ്യൻ അക്ഷരങ്ങളുള്ള വാചകം തെറ്റായി സംരക്ഷിക്കപ്പെടുമ്പോൾ, ഫോറങ്ങളിലും ബ്ലോഗുകളിലും സമാനമായ ഒരു സാഹചര്യം പലപ്പോഴും സംഭവിക്കാറുണ്ട്. നഗ്നനേത്രങ്ങൾ.
അവസാനം, ധാരാളം എൻകോഡിംഗുകളും നിരന്തരം ക്രാക്കോസിയാബ്രിയും പുറത്തെടുക്കുന്ന അത്തരം ഒരു സാഹചര്യം പലരും മടുത്തു, നിലവിലുള്ളവയെല്ലാം മാറ്റിസ്ഥാപിക്കുന്ന ഒരു പുതിയ സാർവത്രിക വ്യതിയാനം സൃഷ്ടിക്കുന്നതിനുള്ള മുൻവ്യവസ്ഥകൾ ഉണ്ടായിരുന്നു, അവസാനം വായിക്കാൻ കഴിയാത്ത പാഠങ്ങളുടെ രൂപത്തിലുള്ള പ്രശ്നം പരിഹരിക്കും. . കൂടാതെ, ചൈനീസ് പോലുള്ള ഭാഷകളുടെ പ്രശ്നമുണ്ടായിരുന്നു, അവിടെ ഭാഷയുടെ പ്രതീകങ്ങൾ 256 ൽ കൂടുതലാണ്.
യൂണികോഡ് (യൂണികോഡ്) - സാർവത്രിക എൻകോഡിംഗുകൾ UTF 8, 16, 32
തെക്കുകിഴക്കൻ ഏഷ്യൻ ഭാഷാ ഗ്രൂപ്പിലെ ഈ ആയിരക്കണക്കിന് പ്രതീകങ്ങൾ ഒരു ബൈറ്റ് വിവരങ്ങളിൽ ഒരു തരത്തിലും വിവരിക്കാൻ കഴിയില്ല, ഇത് ASCII- യുടെ വിപുലീകൃത പതിപ്പുകളിൽ പ്രതീകങ്ങൾ എൻകോഡിംഗ് ചെയ്യാൻ അനുവദിച്ചിരിക്കുന്നു. തൽഫലമായി, ഒരു കൺസോർഷ്യം വിളിച്ചു യൂണികോഡ്(യൂണികോഡ് - യൂണികോഡ് കൺസോർഷ്യം) ഒരു സാർവത്രിക ടെക്സ്റ്റ് എൻകോഡിംഗിന്റെ ആവിർഭാവത്തിൽ താൽപ്പര്യമുള്ള നിരവധി ഐടി വ്യവസായ പ്രമുഖരുടെ (സോഫ്റ്റ്വെയർ നിർമ്മിക്കുന്നവർ, ഹാർഡ്വെയർ എൻകോഡ് ചെയ്യുന്നവർ, ഫോണ്ടുകൾ സൃഷ്ടിക്കുന്നവർ) സഹകരണത്തോടെ.
യൂണികോഡ് കൺസോർഷ്യത്തിന്റെ കീഴിൽ പുറത്തിറക്കിയ ആദ്യ വേരിയേഷൻ ആയിരുന്നു UTF-32. എൻകോഡിംഗിന്റെ പേരിലുള്ള നമ്പർ അർത്ഥമാക്കുന്നത് ഒരു പ്രതീകം എൻകോഡ് ചെയ്യാൻ ഉപയോഗിക്കുന്ന ബിറ്റുകളുടെ എണ്ണം എന്നാണ്. 32 ബിറ്റുകൾ എന്നത് പുതിയ യൂണിവേഴ്സൽ എൻകോഡിംഗ് UTF-ൽ ഒരൊറ്റ പ്രതീകം എൻകോഡ് ചെയ്യുന്നതിന് ആവശ്യമായ 4 ബൈറ്റ് വിവരങ്ങളാണ്.
തൽഫലമായി, ASCII-യുടെ വിപുലീകൃത പതിപ്പിലും UTF-32-ലും എൻകോഡ് ചെയ്ത ടെക്സ്റ്റുള്ള അതേ ഫയലിന്, പിന്നീടുള്ള സന്ദർഭത്തിൽ നാലിരട്ടി വലിപ്പം (ഭാരം) ഉണ്ടായിരിക്കും. ഇത് മോശമാണ്, എന്നാൽ ഇപ്പോൾ UTF ഉപയോഗിച്ച് മുപ്പത്തിരണ്ടാം ശക്തിക്ക് തുല്യമായ രണ്ട് പ്രതീകങ്ങളുടെ എണ്ണം എൻകോഡ് ചെയ്യാനുള്ള അവസരമുണ്ട് ( കോടിക്കണക്കിന് കഥാപാത്രങ്ങൾ, അത് ഒരു വലിയ മാർജിൻ ഉപയോഗിച്ച് ശരിക്കും ആവശ്യമായ ഏതെങ്കിലും മൂല്യം ഉൾക്കൊള്ളുന്നു).
എന്നാൽ യൂറോപ്യൻ ഗ്രൂപ്പിന്റെ ഭാഷകളുള്ള പല രാജ്യങ്ങൾക്കും, എൻകോഡിംഗിൽ ഇത്രയും വലിയ അക്ഷരങ്ങൾ ഉപയോഗിക്കേണ്ട ആവശ്യമില്ല, എന്നിരുന്നാലും, UTF-32 ഉപയോഗിക്കുമ്പോൾ, അവർക്ക് വാചകത്തിന്റെ ഭാരത്തിൽ നാലിരട്ടി വർദ്ധനവ് ലഭിക്കും. ഒന്നിനും വേണ്ടിയുള്ള പ്രമാണങ്ങൾ, അതിന്റെ ഫലമായി, ഇന്റർനെറ്റ് ട്രാഫിക്കിന്റെയും വോളിയം സംഭരിച്ച ഡാറ്റയുടെയും അളവിൽ വർദ്ധനവ്. ഇത് ധാരാളം, അത്തരം മാലിന്യങ്ങൾ ആർക്കും താങ്ങാൻ കഴിയുമായിരുന്നില്ല.
യൂണികോഡിന്റെ വികസനത്തിന്റെ ഫലമായി, UTF-16, ഞങ്ങൾ ഉപയോഗിക്കുന്ന എല്ലാ പ്രതീകങ്ങൾക്കുമുള്ള ഡിഫോൾട്ട് ബേസ് സ്പെയ്സായി അത് അംഗീകരിക്കപ്പെടത്തക്കവിധം വിജയിച്ചു. ഒരു പ്രതീകം എൻകോഡ് ചെയ്യുന്നതിന് ഇത് രണ്ട് ബൈറ്റുകൾ ഉപയോഗിക്കുന്നു. ഈ സാധനം എങ്ങനെയാണെന്ന് നോക്കാം.
വിൻഡോസ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിൽ, നിങ്ങൾക്ക് "ആരംഭിക്കുക" - "പ്രോഗ്രാമുകൾ" - "ആക്സസറികൾ" - "യൂട്ടിലിറ്റികൾ" - "കാരക്ടർ ടേബിൾ" എന്ന പാതയിലൂടെ പോകാം. ഫലമായി, നിങ്ങളുടെ സിസ്റ്റത്തിൽ ഇൻസ്റ്റാൾ ചെയ്തിരിക്കുന്ന എല്ലാ ഫോണ്ടുകളുടെയും വെക്റ്റർ രൂപങ്ങളുള്ള ഒരു പട്ടിക തുറക്കും. "വിപുലമായ ഓപ്ഷനുകളിൽ" നിങ്ങൾ യൂണികോഡ് പ്രതീക സെറ്റ് തിരഞ്ഞെടുക്കുകയാണെങ്കിൽ, ഓരോ ഫോണ്ടിനും അതിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന മുഴുവൻ പ്രതീകങ്ങളും നിങ്ങൾക്ക് വ്യക്തിഗതമായി കാണാൻ കഴിയും.
വഴിയിൽ, അവയിലേതെങ്കിലും ക്ലിക്കുചെയ്യുന്നതിലൂടെ, നിങ്ങൾക്ക് അതിന്റെ ഇരട്ട-ബൈറ്റ് കാണാൻ കഴിയും UTF-16 ഫോർമാറ്റിലുള്ള കോഡ്, നാല് ഹെക്സാഡെസിമൽ അക്കങ്ങൾ ഉൾക്കൊള്ളുന്നു:
16 ബിറ്റുകൾ ഉപയോഗിച്ച് UTF-16-ൽ എത്ര പ്രതീകങ്ങൾ എൻകോഡ് ചെയ്യാൻ കഴിയും? 65536 (രണ്ട് മുതൽ പതിനാറിന്റെ ശക്തി), ഈ സംഖ്യയാണ് യൂണിക്കോഡിലെ അടിസ്ഥാന ഇടമായി സ്വീകരിച്ചത്. കൂടാതെ, ഇത് ഉപയോഗിച്ച് ഏകദേശം രണ്ട് ദശലക്ഷം പ്രതീകങ്ങൾ എൻകോഡ് ചെയ്യാനുള്ള വഴികളുണ്ട്, പക്ഷേ ഒരു ദശലക്ഷം അക്ഷരങ്ങളുടെ വിസ്തൃതമായ സ്ഥലത്ത് പരിമിതപ്പെടുത്തിയിരിക്കുന്നു.
എന്നാൽ യൂണികോഡ് എൻകോഡിംഗിന്റെ ഈ വിജയകരമായ പതിപ്പ് പോലും ഇംഗ്ലീഷിൽ പ്രോഗ്രാമുകൾ എഴുതിയവർക്ക് വലിയ സംതൃപ്തി നൽകിയില്ല, കാരണം ASCII യുടെ വിപുലീകൃത പതിപ്പിൽ നിന്ന് UTF-16 ലേക്ക് മാറിയതിനുശേഷം, പ്രമാണങ്ങളുടെ ഭാരം ഇരട്ടിയായി (ഓരോ ബൈറ്റിനും Asci-യിലെ ഒരു പ്രതീകവും UTF-16-ൽ ഒരേ പ്രതീകത്തിന് രണ്ട് ബൈറ്റുകളും).
യൂണികോഡ് കൺസോർഷ്യത്തിലെ എല്ലാവരുടെയും എല്ലാത്തിന്റെയും സംതൃപ്തിക്കുവേണ്ടിയാണ് അത് കൊണ്ടുവരാൻ തീരുമാനിച്ചത് വേരിയബിൾ നീളം എൻകോഡിംഗ്. UTF-8 എന്നാണ് ഇതിന്റെ പേര്. പേരിൽ എട്ട് ഉണ്ടായിരുന്നിട്ടും, ഇതിന് ശരിക്കും ഒരു വേരിയബിൾ ദൈർഘ്യമുണ്ട്, അതായത്. ഓരോ വാചക പ്രതീകവും ഒന്ന് മുതൽ ആറ് വരെ ബൈറ്റുകളുടെ ഒരു ശ്രേണിയിലേക്ക് എൻകോഡ് ചെയ്യാവുന്നതാണ്.
പ്രായോഗികമായി, UTF-8-ൽ, ഒന്ന് മുതൽ നാല് ബൈറ്റുകൾ വരെയുള്ള ശ്രേണി മാത്രമേ ഉപയോഗിക്കുന്നുള്ളൂ, കാരണം നാല് ബൈറ്റുകളുടെ കോഡിന് പിന്നിൽ, സൈദ്ധാന്തികമായി ഒന്നും സങ്കൽപ്പിക്കാൻ പോലും സാധ്യമല്ല. ഇതിലെ എല്ലാ ലാറ്റിൻ അക്ഷരങ്ങളും പഴയ ASCII പോലെ ഒരു ബൈറ്റിൽ എൻകോഡ് ചെയ്തിരിക്കുന്നു.
ശ്രദ്ധേയമായി, ലാറ്റിൻ മാത്രം എൻകോഡ് ചെയ്യുന്ന കാര്യത്തിൽ, യൂണികോഡ് മനസ്സിലാകാത്ത പ്രോഗ്രാമുകൾ പോലും UTF-8-ൽ എൻകോഡ് ചെയ്തിരിക്കുന്നത് വായിക്കും. ആ. അസൂക്കയുടെ അടിസ്ഥാന ഭാഗം യൂണികോഡ് കൺസോർഷ്യത്തിന്റെ ഈ ആശയത്തിലേക്ക് കടന്നുപോയി.
UTF-8-ലെ സിറിലിക് പ്രതീകങ്ങൾ രണ്ട് ബൈറ്റുകളിലും, ഉദാഹരണത്തിന്, ജോർജിയൻ പ്രതീകങ്ങൾ മൂന്ന് ബൈറ്റുകളിലും എൻകോഡ് ചെയ്തിട്ടുണ്ട്. യൂണികോഡ് കൺസോർഷ്യം, UTF 16 ഉം 8 ഉം സൃഷ്ടിച്ച ശേഷം, പ്രധാന പ്രശ്നം പരിഹരിച്ചു - ഇപ്പോൾ ഞങ്ങൾക്കുണ്ട് ഫോണ്ടുകൾക്ക് ഒരൊറ്റ കോഡ് സ്പേസ് ഉണ്ട്. ഇപ്പോൾ അവരുടെ നിർമ്മാതാക്കൾക്ക് അവരുടെ ശക്തിയും കഴിവുകളും അടിസ്ഥാനമാക്കിയുള്ള വാചക പ്രതീകങ്ങളുടെ വെക്റ്റർ രൂപങ്ങൾ കൊണ്ട് മാത്രമേ ഇത് പൂരിപ്പിക്കാൻ കഴിയൂ. ഇപ്പോൾ സെറ്റിൽ പോലും.
മുകളിലുള്ള "പ്രതീക പട്ടിക"യിൽ, വ്യത്യസ്ത ഫോണ്ടുകൾ വ്യത്യസ്ത എണ്ണം പ്രതീകങ്ങളെ പിന്തുണയ്ക്കുന്നതായി നിങ്ങൾക്ക് കാണാൻ കഴിയും. ചില യൂണികോഡ് സമ്പന്നമായ ഫോണ്ടുകൾ വളരെ വലുതായിരിക്കും. എന്നാൽ ഇപ്പോൾ അവ വ്യത്യസ്തമായത് വ്യത്യസ്ത എൻകോഡിംഗുകൾക്കായി സൃഷ്ടിക്കപ്പെട്ടതിലല്ല, മറിച്ച് ഫോണ്ട് നിർമ്മാതാവ് ഒന്നോ അല്ലെങ്കിൽ മറ്റൊരു വെക്റ്റർ ഫോം ഉപയോഗിച്ച് അവസാനം വരെ ഒരൊറ്റ കോഡ് സ്പേസ് പൂരിപ്പിച്ചതോ പൂരിപ്പിക്കാത്തതോ ആയ വസ്തുതയിലാണ്.
റഷ്യൻ അക്ഷരങ്ങൾക്ക് പകരം ക്രാക്കോസിയാബ്രി - എങ്ങനെ ശരിയാക്കാം
വാചകത്തിനുപകരം ക്രാക്കോസിയാബ്രാസ് എങ്ങനെ പ്രത്യക്ഷപ്പെടുന്നുവെന്ന് നോക്കാം, അല്ലെങ്കിൽ, മറ്റൊരു രീതിയിൽ പറഞ്ഞാൽ, റഷ്യൻ വാചകത്തിനുള്ള ശരിയായ എൻകോഡിംഗ് എങ്ങനെ തിരഞ്ഞെടുക്കപ്പെടുന്നുവെന്ന് നോക്കാം. യഥാർത്ഥത്തിൽ, നിങ്ങൾ ഇതേ ടെക്സ്റ്റ് സൃഷ്ടിക്കുന്നതോ എഡിറ്റ് ചെയ്യുന്നതോ ആയ പ്രോഗ്രാമിൽ ഇത് സജ്ജീകരിച്ചിരിക്കുന്നു, അല്ലെങ്കിൽ ടെക്സ്റ്റ് ശകലങ്ങൾ ഉപയോഗിച്ച് കോഡ്.
ടെക്സ്റ്റ് ഫയലുകൾ എഡിറ്റ് ചെയ്യുന്നതിനും സൃഷ്ടിക്കുന്നതിനും, എന്റെ അഭിപ്രായത്തിൽ, ഞാൻ വ്യക്തിപരമായി വളരെ നല്ലത് ഉപയോഗിക്കുന്നു. എന്നിരുന്നാലും, ഇതിന് നൂറിലധികം പ്രോഗ്രാമിംഗുകളുടെയും മാർക്ക്അപ്പ് ഭാഷകളുടെയും വാക്യഘടന ഹൈലൈറ്റ് ചെയ്യാൻ കഴിയും, കൂടാതെ പ്ലഗിനുകൾ ഉപയോഗിച്ച് വിപുലീകരിക്കാനുള്ള കഴിവുമുണ്ട്. ഈ അത്ഭുതകരമായ പ്രോഗ്രാമിന്റെ വിശദമായ അവലോകനം ചുവടെയുള്ള ലിങ്കിൽ വായിക്കുക.
നോട്ട്പാഡ് ++ ന്റെ മുകളിലെ മെനുവിൽ "എൻകോഡിംഗുകൾ" എന്ന ഒരു ഇനം ഉണ്ട്, അവിടെ നിങ്ങളുടെ സൈറ്റിൽ സ്ഥിരസ്ഥിതിയായി ഉപയോഗിക്കുന്ന ഓപ്ഷനിലേക്ക് നിലവിലുള്ള ഓപ്ഷൻ പരിവർത്തനം ചെയ്യാൻ നിങ്ങൾക്ക് അവസരം ലഭിക്കും:
ജൂംല 1.5-ഉം അതിലും ഉയർന്നതുമായ സൈറ്റിന്റെ കാര്യത്തിലും വേർഡ്പ്രസ്സിലെ ഒരു ബ്ലോഗിന്റെ കാര്യത്തിലും, ബഗുകൾ പ്രത്യക്ഷപ്പെടാതിരിക്കാൻ, ഓപ്ഷൻ തിരഞ്ഞെടുക്കുക BOM ഇല്ലാതെ UTF8. BOM എന്ന പ്രിഫിക്സ് എന്താണ്?
UTF-16 എൻകോഡിംഗ് വികസിപ്പിച്ചപ്പോൾ, ചില കാരണങ്ങളാൽ, നേരിട്ടുള്ള ക്രമത്തിലും (ഉദാഹരണത്തിന്, 0A15) വിപരീതത്തിലും (150A) ഒരു പ്രതീക കോഡ് എഴുതാനുള്ള കഴിവ് പോലുള്ള ഒരു കാര്യം അറ്റാച്ചുചെയ്യാൻ അവർ തീരുമാനിച്ചു എന്നതാണ് വസ്തുത. . ഏത് ക്രമത്തിലാണ് കോഡുകൾ വായിക്കേണ്ടതെന്ന് പ്രോഗ്രാമുകൾ മനസിലാക്കാൻ, അത് കണ്ടുപിടിച്ചു BOM(ബൈറ്റ് ഓർഡർ മാർക്ക് അല്ലെങ്കിൽ, മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, ഒപ്പ്), ഇത് ഡോക്യുമെന്റുകളുടെ തുടക്കത്തിൽ തന്നെ മൂന്ന് അധിക ബൈറ്റുകൾ കൂട്ടിച്ചേർത്ത് പ്രകടിപ്പിച്ചു.
UTF-8 എൻകോഡിംഗിൽ, യൂണികോഡ് കൺസോർഷ്യത്തിൽ BOM ഒന്നും നൽകിയിട്ടില്ല, അതിനാൽ ഒരു ഒപ്പ് (ഡോക്യുമെന്റിന്റെ തുടക്കത്തിലെ ഈ ഏറ്റവും കുപ്രസിദ്ധമായ അധിക മൂന്ന് ബൈറ്റുകൾ) ചേർക്കുന്നത് ചില പ്രോഗ്രാമുകളെ കോഡ് വായിക്കുന്നതിൽ നിന്ന് തടയുന്നു. അതിനാൽ, UTF-ൽ ഫയലുകൾ സേവ് ചെയ്യുമ്പോൾ, നമ്മൾ എപ്പോഴും BOM ഇല്ലാതെ (ഒപ്പ് ഇല്ലാതെ) ഓപ്ഷൻ തിരഞ്ഞെടുക്കണം. അതിനാൽ നിങ്ങൾ മുന്നേറുക ക്രാക്കോസിയാബ്രി ഇഴയുന്നതിൽ നിന്ന് സ്വയം പരിരക്ഷിക്കുക.
ശ്രദ്ധേയമായി, വിൻഡോസിലെ ചില പ്രോഗ്രാമുകൾക്ക് ഇത് എങ്ങനെ ചെയ്യണമെന്ന് അറിയില്ല (അവർക്ക് BOM ഇല്ലാതെ UTF-8 ൽ ടെക്സ്റ്റ് സംരക്ഷിക്കാൻ കഴിയില്ല), ഉദാഹരണത്തിന്, അതേ കുപ്രസിദ്ധമായ വിൻഡോസ് നോട്ട്പാഡ്. ഇത് UTF-8-ൽ പ്രമാണം സംരക്ഷിക്കുന്നു, പക്ഷേ ഇപ്പോഴും അതിന്റെ തുടക്കത്തിലേക്ക് ഒപ്പ് (മൂന്ന് അധിക ബൈറ്റുകൾ) ചേർക്കുന്നു. മാത്രമല്ല, ഈ ബൈറ്റുകൾ എല്ലായ്പ്പോഴും സമാനമായിരിക്കും - നേരിട്ടുള്ള ക്രമത്തിൽ കോഡ് വായിക്കുക. എന്നാൽ സെർവറുകളിൽ, ഈ ചെറിയ കാര്യം കാരണം, ഒരു പ്രശ്നം ഉണ്ടാകാം - krakozyabry പുറത്തുവരും.
അതിനാൽ, ഒരു തരത്തിലും സാധാരണ വിൻഡോസ് നോട്ട്പാഡ് ഉപയോഗിക്കരുത്നിങ്ങളുടെ സൈറ്റിന്റെ പ്രമാണങ്ങൾ എഡിറ്റുചെയ്യുന്നതിന്, നിങ്ങൾക്ക് ക്രാക്കോസിയാബ്രോവിന്റെ രൂപം ആവശ്യമില്ലെങ്കിൽ. ഇതിനകം സൂചിപ്പിച്ച നോട്ട്പാഡ് ++ എഡിറ്റർ ഏറ്റവും മികച്ചതും ലളിതവുമായ ഓപ്ഷനായി ഞാൻ കരുതുന്നു, അത് പ്രായോഗികമായി പോരായ്മകളൊന്നുമില്ല, ഗുണങ്ങൾ മാത്രം ഉൾക്കൊള്ളുന്നു.
നോട്ട്പാഡ്++-ൽ, നിങ്ങൾ ഒരു എൻകോഡിംഗ് തിരഞ്ഞെടുക്കുമ്പോൾ, യുസിഎസ്-2 എൻകോഡിംഗിലേക്ക് ടെക്സ്റ്റ് പരിവർത്തനം ചെയ്യാനുള്ള ഓപ്ഷൻ നിങ്ങൾക്കുണ്ടാകും, അത് യുണികോഡ് സ്റ്റാൻഡേർഡിന് വളരെ അടുത്താണ്. നോട്ട്പാഡിൽ ANSI-യിൽ ടെക്സ്റ്റ് എൻകോഡ് ചെയ്യാനും സാധിക്കും, അതായത്. റഷ്യൻ ഭാഷയുമായി ബന്ധപ്പെട്ട്, ഇത് വിൻഡോസ് 1251 ആയിരിക്കും, ഞങ്ങൾ ഇതിനകം അല്പം മുകളിൽ വിവരിച്ചിരിക്കുന്നു. ഈ വിവരങ്ങൾ എവിടെ നിന്ന് വരുന്നു?
നിങ്ങളുടെ വിൻഡോസ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന്റെ രജിസ്ട്രിയിൽ ഇത് എഴുതിയിട്ടുണ്ട് - ANSI-യുടെ കാര്യത്തിൽ ഏത് എൻകോഡിംഗ് തിരഞ്ഞെടുക്കണം, OEM-ന്റെ കാര്യത്തിൽ ഏതാണ് തിരഞ്ഞെടുക്കേണ്ടത് (റഷ്യൻ ഭാഷയ്ക്ക് ഇത് CP866 ആയിരിക്കും). നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ മറ്റൊരു ഡിഫോൾട്ട് ഭാഷ ഇൻസ്റ്റാൾ ചെയ്യുകയാണെങ്കിൽ, ഈ എൻകോഡിംഗുകൾ അതേ ഭാഷയിൽ ANSI അല്ലെങ്കിൽ OEM വിഭാഗത്തിൽ നിന്ന് സമാനമായവ ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കും.
നിങ്ങൾക്ക് ആവശ്യമുള്ള എൻകോഡിംഗിൽ നോട്ട്പാഡ് ++-ൽ പ്രമാണം സംരക്ഷിച്ചതിന് ശേഷം അല്ലെങ്കിൽ എഡിറ്റിംഗിനായി സൈറ്റിൽ നിന്ന് പ്രമാണം തുറന്നതിന് ശേഷം, എഡിറ്ററിന്റെ താഴെ വലത് കോണിൽ നിങ്ങൾക്ക് അതിന്റെ പേര് കാണാൻ കഴിയും:
krakozyabrov ഒഴിവാക്കാൻ, മുകളിൽ വിവരിച്ച പ്രവർത്തനങ്ങൾക്ക് പുറമേ, സൈറ്റിന്റെ എല്ലാ പേജുകളുടെയും സോഴ്സ് കോഡിന്റെ തലക്കെട്ടിൽ ഈ എൻകോഡിംഗിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ എഴുതുന്നത് ഉപയോഗപ്രദമാകും, അതുവഴി സെർവറിലോ പ്രാദേശിക ഹോസ്റ്റിലോ ആശയക്കുഴപ്പം ഉണ്ടാകില്ല.
പൊതുവേ, Html ഒഴികെയുള്ള എല്ലാ ഹൈപ്പർടെക്സ്റ്റ് മാർക്ക്അപ്പ് ഭാഷകളിലും, ഒരു പ്രത്യേക xml ഡിക്ലറേഷൻ ഉപയോഗിക്കുന്നു, അത് ടെക്സ്റ്റ് എൻകോഡിംഗ് വ്യക്തമാക്കുന്നു.
കോഡ് പാഴ്സ് ചെയ്യുന്നതിന് മുമ്പ്, ഏത് പതിപ്പാണ് ഉപയോഗിക്കുന്നതെന്നും ആ ഭാഷയുടെ പ്രതീക കോഡുകൾ എങ്ങനെ കൃത്യമായി വ്യാഖ്യാനിക്കണമെന്നും ബ്രൗസറിന് അറിയാം. എന്നാൽ ശ്രദ്ധേയമായ കാര്യം, നിങ്ങൾ സ്ഥിരസ്ഥിതി യൂണികോഡിൽ പ്രമാണം സംരക്ഷിക്കുകയാണെങ്കിൽ, ഈ xml പ്രഖ്യാപനം ഒഴിവാക്കാവുന്നതാണ് (ബിഒഎം ഇല്ലെങ്കിൽ UTF-8 അല്ലെങ്കിൽ BOM ഉണ്ടെങ്കിൽ UTF-16 ആയി എൻകോഡിംഗ് പരിഗണിക്കും).
ഒരു Html ഭാഷാ പ്രമാണത്തിന്റെ കാര്യത്തിൽ, വ്യക്തമാക്കാൻ എൻകോഡിംഗ് ഉപയോഗിക്കുന്നു മെറ്റാ ഘടകം, തുറക്കുന്നതിനും അടയ്ക്കുന്നതിനും ഇടയിൽ എഴുതിയിരിക്കുന്ന ഹെഡ് ടാഗുകൾ:
... ...
ഈ എൻട്രി എന്നതിൽ നിന്ന് തികച്ചും വ്യത്യസ്തമാണ്, പക്ഷേ ഇത് സാവധാനം അവതരിപ്പിക്കുന്ന പുതിയ Html 5 സ്റ്റാൻഡേർഡുമായി പൂർണ്ണമായും പൊരുത്തപ്പെടുന്നു, നിലവിൽ ഉപയോഗിക്കുന്ന ഏത് ബ്രൗസറിലും ഇത് 100% ശരിയായി മനസ്സിലാക്കും.
സിദ്ധാന്തത്തിൽ, ഡോക്യുമെന്റിന്റെ Html എൻകോഡിംഗ് ഉള്ള മെറ്റാ എലമെന്റ് ഇടുന്നതാണ് നല്ലത് പ്രമാണത്തിന്റെ തലക്കെട്ടിൽ കഴിയുന്നത്ര ഉയർന്നത്അതിനാൽ മീറ്റിംഗ് സമയത്ത്, ആദ്യ പ്രതീകത്തിന്റെ വാചകത്തിൽ അടിസ്ഥാന ANSI യിൽ നിന്ന് അല്ല (എല്ലായ്പ്പോഴും ശരിയായി വായിക്കുകയും ഏത് വ്യതിയാനത്തിലും വായിക്കുകയും ചെയ്യും), ഈ പ്രതീകങ്ങളുടെ കോഡുകൾ എങ്ങനെ വ്യാഖ്യാനിക്കണം എന്നതിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ ബ്രൗസറിന് ഇതിനകം ഉണ്ടായിരിക്കണം.
നിങ്ങൾക്ക് ആശംസകൾ! ബ്ലോഗ് പേജ് സൈറ്റിൽ ഉടൻ കാണാം
നിങ്ങൾക്ക് താൽപ്പര്യമുണ്ടാകാം
എന്താണ് ഒരു URL, ഒരു സൈറ്റിനായുള്ള കേവലവും ആപേക്ഷികവുമായ ലിങ്കുകൾ തമ്മിലുള്ള വ്യത്യാസം എന്താണ്
ഓപ്പൺസെർവർ - ഒരു ആധുനിക പ്രാദേശിക സെർവറും കമ്പ്യൂട്ടറിൽ വേർഡ്പ്രസ്സ് ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനുള്ള ഒരു ഉദാഹരണവും
എന്താണ് Chmod, ഫയലുകൾക്കും ഫോൾഡറുകൾക്കും (777, 755, 666) എന്ത് അനുമതികൾ നൽകണം, PHP വഴി അത് എങ്ങനെ ചെയ്യാം
സൈറ്റിലും ഓൺലൈൻ സ്റ്റോറിലും Yandex തിരയൽ