Да би рачунар могао да смешта текст и бројеве које људи могу да разумеју, мора постојати шифра која се трансформише карактера у бројеве. Стандард Уницоде дефинира такав код користећи кодирање знакова.
Разлог кодирања знакова је толико битан, тако да сваки уређај може приказати исте информације. Прилагођена шема за кодирање знакова може сјајно радити на једном рачунару, али проблеми ће се појавити ако пошаљете исти текст неком другом. Неће знати о чему говорите ако такође не разуме шему кодирања.
Кодирање карактера
Свако кодирање знакова додељује број сваком знаку који се може користити. Можете одмах да направите кодирање знакова.
На пример, могло бих да кажем да је писмо А постаје број 13, а = 14, 1 = 33, # = 123, и тако даље.
Овде долазе стандарди за целу индустрију. Ако цела индустрија рачунара користи исту схему кодирања знакова, сваки рачунар може приказати исте знакове.
Шта је Уницоде?
АСЦИИ (Амерички стандардни код за размену информација) постала прва широко распрострањена шема кодирања. Међутим, оно је ограничено на само 128 дефиниција знакова. Ово је у реду за најобичније енглеске знакове, бројеве и интерпункције, али је помало ограничавајући за остатак света.
Наравно, и остатак света жели исту схему кодирања и за њихове ликове. Међутим, за мало, иако у зависности од тога где се налазите, можда је за исти АСЦИИ код приказан другачији знак.
На крају су други делови света почели да стварају сопствене шеме кодирања и ствари су постале помало збуњујуће. Нису само схеме кодирања различите дужине, програми потребни да би се утврдила која схема кодирања би се требала користити.
Показало се да је потребна нова схема кодирања знакова, а то је када је створен стандард Уницоде. Циљ Уницоде-а је објединити све различите шеме кодирања како би се конфузија између рачунара што више ограничила.
Ових дана стандард Уницоде дефинише вредности за преко 128.000 знакова и могу се видети на Уницоде конзорцијум. Има неколико облика кодирања карактера:
- УТФ-8: За кодирање енглеских знакова користи се само један бајт (8 бита). Може користити низ бајтова за кодирање других знакова. УТФ-8 се широко користи у системима е-поште и на Интернету.
- УТФ-16: Користи два бајта (16 бита) за кодирање најчешће коришћених знакова. Ако је потребно, додатни знакови могу бити представљени паром 16-битних бројева.
- УТФ-32: Користи четири бајта (32 бита) за кодирање знакова. Показало се да је, како стандард Уницоде расте, 16-битни број премали да би представљао све знакове. УТФ-32 може представити сваки Уницоде знак као један број.
Белешка: УТФ значи Уницоде трансформаторска јединица.
Цоде Поинтс
Кодна тачка је вредност коју карактер даје у Уницоде стандарду. Вредности према Уницоде-у пишу се као хексадецимални бројеви и имају префикс У +.
На пример, за кодирање знакова које смо гледали раније:
- А је У + 0041
- а је У + 0061
- 1 је У + 0031
- # је У + 0023
Ове кодне тачке су подељене у 17 различитих одсека који се зову равнинама, идентификовани бројевима од 0 до 16. Сваки авион има 65.536 кодних поена. Прва равнина, 0, садржи најчешће коришћене знакове и позната је као Основна вишејезична равнина (БМП).
Јединице кода
Схеме кодирања сачињене су од кодних јединица које се користе за пружање индекса гдје се знак налази у равнини.
Размотрите УТФ-16 као пример. Сваки 16-битни број је кодна јединица. Јединице кодова могу се трансформисати у кодне тачке. На примјер, симбол равне ноте ♭ има кодну тачку У + 1Д160 и живи на другој равнини стандарда Уницоде (Допунска идеографска равнина). Кодираће се помоћу комбинације 16-битних кодних јединица У + Д834 и У + ДД60.
За БМП су вредности кодних тачака и јединица кодова идентичне. Ово омогућава пречицу за УТФ-16 која штеди пуно простора за складиштење. За представљање тих знакова треба само један 16-битни број.
Како Јава користи Уницоде?
Јава настао је у време када је стандард Уницоде имао вредности дефинисане за много мањи скуп знакова. Тада се сматрало да ће 16-битни бити више него довољан за кодирање свих знакова који ће икада бити потребни. Имајући то у виду, Јава је дизајнирана да користи УТФ-16. Врста података Цхар је изворно коришћена за представљање 16-битне Уницоде тачке.
Пошто је Јава СЕ в5.0, знак представља кодну јединицу. Мало је разлике у представљању знакова који се налазе у основној вишејезичној равни, јер је вредност јединице кода иста као кодна тачка. Међутим, то не значи да су за ликове на другим авионима потребне две знакове.
Важно је запамтити да једна врста података цхар не може више представљати све Уницоде знакове.