39016

39016



139


UNICODE

Jaki rozmiar i jakie kodowanie?

Unicode określa jedynie jakiej liczbie odpowiada jaki znak. nie mówi zaś nic o sposobie dekodowania (tzn. jaka sekwencja znaków odpowiada jakiemu znaku/znakoui). Jako że Unicode obejmuje 918 tys. znaków, zmienna zdolna pomieścić go w całości musi mieć przynajmniej 3 bajty. Niestety procesory nie funkcjonują na zmiennych o tym rozmiarze, pracują jedynie na zmiennych o wielkościach: 1. 2. 4 oraz 8 bajtów (kolejne potęgi liczby 2). Dlatego też jeśli wciąż uparcie chcemy być < lok ładni i zastosować przejrzyste kodowanie musimy skorzystać ze zmiennej 4-bajtowej (32 bity). Tak do sprawy podeszli twórcy kodowania Unicode nazwanego

UTF-32/UCS-4. Ten typ kodowania po prostu przydziela każdemu znakowi Unicode kolejne Zobacz w Wikipedii: UTF-

liczby. Jest to nujbardziej intuicyjny i wygodny typ kodowania, ale jak widać ciągi znaków 32

zakodowane w nim są hardzo obszerne, co zajmuje dostępną pamięć, spowalnia działanie

programu oraz drastycznie |>ogarsza wydajność podczas transferu przez sieć. Poza UTF-32

istnieje jeszcze wiek- innych kodowali. Najpopularniejsze z nich to:

•    UTF-8 od 1 do G bajtów (dla znaków poniżej 65536 do 3 bajtów) na znak przez co jest skrajnie niewygodny, gdy chcemy prze|>rowudzać jakiekolwiek operacje na tekście bez korzystania z gotowych funkcji

•    UTF-16 2 lub 4 bajty na znak; ręczne modyfikacje łańcucha są bardziej skomplikowane niż przy UTF-32

• U CS-2    2 bajty na znak przez co znaki z numerami powyżej 65 535 nie są uwzględnione; równie wygodny w użytkowaniu co UTF-32.

Ręczne operacje na ciągach zakodowanych w UTF-8 i UTF-16 są utrudnione, ponieważ w przeciwieństwie do UTF-32. gdzie można określić, iż powiedzmy 2. znak ciągu zajmuje bajty od 4. do 7. (gdyż z gór,- wiemy, że 1. znak zajął bajty od 0. do 3.), w tych kodowaniach musimy najpierw określić rozmiar 1. znaku. Ponadto, gdy korzystamy z nich nie działają wtedy funkcje udostępniam" przez biblioteki C do operowania na ciągach znaków.

Priorytet

Proponowane kodowania

mały rozmiar

UTF-8

łatwa i wydajna edycja

UTF-32 lub UCS-2

przenośność

UTF-8'*

ogólna szybkość

UCS-2 lub UTF-8

Co należy zrobić, by zacząć korzystać z kodowania UCS-2 (domyślne kodowanie dla C):

•    powinniśmy korzystać z typu wcliar.t (ang. “wide character"), jednak jeśli chcemy udostępniać kod źródłowy programu do kompilacji na innych platformach. powinniśmy ustawić odpowiednie parametry dla kompilatorów, by rozmiar był identyczny niezależnie od platformy.

•    korzyst amy z odpowiedników funkcji operujących na typie char pracujących na wcliar.t (z reguły składnia jest identyczna z tą różnicą, że w nazwach funkcji zastępujemy “str“ na “wcs“ np. strepy — wesepy; stremp — wesemp)

•    jeśli przyzwyczajeni jesteśmy do korzystania z klasy string. powinniśmy zamiast niej korzystać z wstring. która posiada zbliżoną składnię, ale pracuje na typie wcliar.t.

Co należy zrobić, by zacząć korzystać z Unicode:

•    gdy korzystamy z kodowali innych niż UTF-16 i UCS-2. powinniśmy zdefiniować własny typ

•    w wykorzystywanych przez nas bibliotekach podajemy typ wykorzystanego kodowania.

•    gdy chcemy ręcznie modyfikować ciąg musimy przeczytać specyfikację danego kodowania; są one wyczerpująco opisane na siost rzanym projekcie Wikibooks — Wikipedii.

Przykład użycia kodowania UCS-2:



Wyszukiwarka

Podobne podstrony:
skanuj0036 76 Pedofilia i kazirodztwo monolitu i zastosowanie nazw tych zaburzeń do określenia jedyn
slajd5 i Ocena rozwoju somatycznego
IMAG0581 (3) Wymiarowanie Rysunek elementu wykonany w rzutach prostokątnych określa jedynie jego ksz
Dopiero zestawienie obu tych wartości (ppi i rozmiarów w pikselach) pozwala na określenie rzecz
•    Śluzy ustalaniu rodzaju i rozmiarów zamierzeń budowlanych, tj. określa ich
Miara położenia - określa wokół jakiej przeciętnej wartości grupują się zdarzenia Wartość modalna
weglowodory2 Węglowodory a) Podaj wzór półstrukturalny jego monomeru. b) Określ, do jakiej grupy zw
1 6CCF20120607001(1) 1. Jakie występują potencjały w mechanice molekularnej? 2. W jakiej metodzie w
tę myśl, należałoby zapytać, jakie to zjawiska określał Pawłów jako „czysto fizjologiczne”, czy też
15 Publikacje - rozmiar strefRozmiar stref Poniższe schematy ilustrują minimalne rozmiary, jakie
T^n^ana u>,,Mjaaikprzybierający mBKze^ (W. Okoć). „Zmienna określa jedynie, pod jakim względem
Dopiero zestawienie obu tych wartości (ppi i rozmiarów w pikselach) pozwala na określenie rzecz
ED (35) 110 ///. Zasady rozróżniania faktów normalnych i patologicznych określane w drodze jakiejś i
INTERNET: kodowanie UNICODE UNIKOD przypisuje unikalny numer każdemu znakowi, niezależnie od używane
Ponieważ krzywa swapowa jest określona jedynie przez wartości czynników dyskontowych DF(t, Tj) dla
RAMA3p 2 q=2kN/n 1.    Sprawdzamy jakie mamy podpory i określamy REAKCJE. 2.

więcej podobnych podstron