Unicode rakstzīmju kodēšanas skaidrojums

click fraud protection

Lai dators varētu uzglabāt tekstu un ciparus, kas cilvēkiem saprotami, ir jābūt pārveidojamam kodam rakstzīmes skaitļos. Unicode standarts definē šādu kodu, izmantojot rakstzīmju kodējumu.

Iemesls, kāpēc rakstzīmju kodējums ir tik svarīgs, ir tas, ka katra ierīce var parādīt to pašu informāciju. Pielāgota rakstzīmju kodēšanas shēma var lieliski darboties vienā datorā, taču problēmas radīsies, ja šo pašu tekstu nosūtīsit kādam citam. Tas nezina, par ko jūs runājat, ja vien tas arī nesaprot kodēšanas shēmu.

Rakstzīmju kodējums

Viss rakstzīmju kodējums nozīmē katrai izmantojamai rakstzīmei numuru. Jūs tūlīt varētu izveidot rakstzīmju kodējumu.

Piemēram, es varētu teikt, ka vēstule A kļūst par skaitli 13, a = 14, 1 = 33, # = 123 utt.

Šeit tiek ieviesti nozares standarti. Ja visa datoru nozare izmanto to pašu rakstzīmju kodēšanas shēmu, katrs dators var parādīt vienas un tās pašas rakstzīmes.

Kas ir Unicode?

ASCII (Amerikas standarta kods informācijas apmaiņai) kļuva par pirmo plaši izplatīto kodēšanas shēmu. Tomēr tas attiecas tikai uz 128 rakstzīmju definīcijām. Tas ir labi attiecībā uz visizplatītākajām angļu valodas rakstzīmēm, cipariem un pieturzīmēm, bet pārējo pasauli nedaudz ierobežo.

instagram viewer

Protams, arī pārējā pasaule vēlas tādu pašu kodēšanas shēmu arī viņu burtiem. Tomēr nedaudz, kaut arī atkarībā no jūsu atrašanās vietas, vienam un tam pašam ASCII kodam varētu būt parādīta atšķirīga rakstzīme.

Galu galā citas pasaules daļas sāka veidot savas kodēšanas shēmas, un lietas sāka nedaudz sajaukt. Ne tikai dažāda garuma kodēšanas shēmas, bet arī programmas, kas vajadzēja, lai izdomātu, kuru kodēšanas shēmu tām vajadzētu izmantot.

Kļuva skaidrs, ka ir nepieciešama jauna rakstzīmju kodēšanas shēma, kad tika izveidots Unicode standarts. Unicode mērķis ir apvienot visas dažādās kodēšanas shēmas, lai pēc iespējas ierobežotu neskaidrības starp datoriem.

Mūsdienās Unicode standarts nosaka vērtības vairāk nekā 128 000 rakstzīmēm, un tās var redzēt Unicode konsorcijs. Tam ir vairākas rakstzīmju kodēšanas formas:

  • UTF-8: Angļu rakstzīmju kodēšanai izmanto tikai vienu baitu (8 bitus). Citu rakstzīmju kodēšanai var izmantot baitu secību. UTF-8 tiek plaši izmantots e-pasta sistēmās un internetā.
  • UTF-16: Izmanto divus baitus (16 bitus), lai kodētu visbiežāk izmantotās rakstzīmes. Ja nepieciešams, papildu rakstzīmes var attēlot ar 16 bitu numuru pāri.
  • UTF-32: Rakstzīmju kodēšanai izmanto četrus baitus (32 bitus). Kļuva skaidrs, ka, pieaugot Unicode standartam, 16 bitu skaitlis ir pārāk mazs, lai attēlotu visas rakstzīmes. UTF-32 spēj attēlot katru Unicode rakstzīmi kā vienu ciparu.

Piezīme: UTF nozīmē Unicode Transformation Unit.

Kodu punkti

Kodu punkts ir vērtība, kurai rakstzīme tiek piešķirta Unicode standartā. Vērtības saskaņā ar Unicode tiek rakstītas kā heksadecimālie skaitļi, un to prefikss ir U +.

Piemēram, lai kodētu rakstzīmes, kuras mēs apskatījām iepriekš:

  • A ir U + 0041
  • a ir U + 0061
  • 1 ir U + 0031
  • # ir U + 0023

Šie koda punkti ir sadalīti 17 dažādās sadaļās, ko sauc par plaknēm, kuras apzīmē ar cipariem no 0 līdz 16. Katrā plaknē ir 65 536 koda punkti. Pirmajā plaknē 0 ir visbiežāk izmantotās rakstzīmes un tā ir pazīstama kā pamata daudzvalodu plakne (BMP).

Koda vienības

Kodēšanas shēmas sastāv no kodu vienībām, kuras tiek izmantotas, lai nodrošinātu indeksu tam, kur raksturs ir novietots plaknē.

Apsveriet UTF-16 kā piemēru. Katrs 16 bitu numurs ir koda vienība. Kodu vienības var pārveidot par koda punktiem. Piemēram, plakanās piezīmes simbolam ♭ ir koda punkts U + 1D160 un tas atrodas Unicode standarta (papildu ideogrāfiskā plakne) otrajā plaknē. Tas tiktu kodēts, izmantojot 16 bitu koda vienību U + D834 un U + DD60 kombināciju.

BMP kodu punktu un kodu vienību vērtības ir identiskas. Tas ļauj saīsni UTF-16, kas ietaupa daudz vietas. Lai šīs zīmes pārstāvētu, jāizmanto tikai viens 16 bitu numurs.

Kā Java izmanto Unicode?

Java tika izveidots laikā, kad Unicode standartam bija noteiktas vērtības daudz mazākam rakstzīmju kopumam. Toreiz bija jūtams, ka 16 bitu būs vairāk nekā pietiekami, lai kodētu visas rakstzīmes, kas kādreiz būs vajadzīgas. Paturot to prātā, Java tika izstrādāta, lai izmantotu UTF-16. Char datu tips sākotnēji tika izmantots, lai attēlotu 16 bitu Unicode koda punktu.

Kopš Java SE v5.0, simbols apzīmē koda vienību. Rakstzīmju attēlošanai daudzvalodu pamatplaknē nav lielas atšķirības, jo koda vienības vērtība ir tāda pati kā koda punktam. Tomēr tas nozīmē, ka citu lidmašīnu rakstzīmēm ir vajadzīgas divas rakstzīmes.

Svarīgi atcerēties, ka viens char datu tips vairs nevar pārstāvēt visas Unicode rakstzīmes.

instagram story viewer