Юніко́д (анг. Unicode) — стандарт кадаваньня сымбаляў, які дазваляе адлюстраваць літары і знакі амаль усіх пісьмовых моваў.[1]
Стандарт быў прапанаваны ў 1991 годзе некамэрцыйнай арганізацыяй «Кансорцыюм Юнікоду» (анг. Unicode Consortium, Unicode Inc.).[2][3] Выкарыстаньне гэтага стандарту дазваляе надаць коды вельмі вялікай колькасьці сымбаляў з розных сыстэмаў пісьма: у дакумэнтах з выкарыстаньнем Юнікоду могуць разам выкарыстоўвацца кітайскія герогліфы, матэматычныя сымбалі, буквы грэцкага альфабэту, лацінкі і кірыліцы, а патрэба ў пераключэньні кодавых старонак адпадае.[4]
Стандарт складаецца з двух асноўных разьдзелаў: унівэрсальны набор сымбаляў (анг. UCS, universal character set)і сямейства кадаваньняў (анг. UTF, Unicode transformation format). Унівэрсальны набор сымбаляў вызначае дакладную адпаведнасьць сымбаляў кодам — элемэнтам кодавай прасторы, якія ёсьць неадмоўнымі цэлымі лікамі. Сямейства кадаваньняў вызначае машыннае выяўленьне пасьлядоўнасьці кодаў UCS.
Коды ў стандарце Юнікод разьдзеленыя на некалькі частак. Частка з кодамі ад U+0000 да U+007F утрымлівае сымбалі з набору ASCII з адпаведнымі кодамі. Далей разьмешчаныя часткі сымбаляў розных пісьмовых сыстэмаў, пунктуацыйныя знакі і тэхнічныя сымбалі. Частка кодаў зарэзэрваваная для выкарыстаньня ў будучыні.[5] Пад сымбалі кірыліцы выдзеленыя часткі знакаў з кодамі ад U+0400 да U+052F, ад U+2DE0 да U+2DFF і ад U+A640 да U+A69F.[6]
Хоць формы запісу UTF-8 і UTF-32 дазваляюць кадаваць да 231 (2 147 483 648)кодавых пазыцыяў, было прынятае рашэньне выкарыстоўваць толькі 1 112 064 для сумяшчальнасьці з UTF-16. Зрэшты, нават гэтага болей за патрэбнае — сёньня (у вэрсіі 6.0)выкарыстоўваецца менш за 110 000 кодавых пазыцыяў (109 242 графічных і 273 іншых сымбаляў).
Кодавая прастора падзеленая на 17 плоскасьцяў па 216=65 536 сымбаляў. Нулявая плоскасьць завецца базавай: у ёй разьмешчаныя сымбалі найбольш ужывальных пісьменнасьцяў. Першая плоскасьць выкарыстоўваецца пераважна для гістарычных альфабэтаў, другая — для рэдка ўжывальных герогліфаў кітайскага пісьма, трэцяя зарэзэрваваная для архаічных кітайскіх герогліфаў.[7] Плоскасьці 15 і 16 выдзеленыя для выкарыстаньня ў прыватных выпадках.[5]
Для абазначэньня сымбаляў Юнікоду выкарыстоўваецца запіс кшталту U+xxxx (для кодаў 0…FFFF), U+xxxxx (для кодаў 10000…FFFFF), ці U+xxxxxx (для кодаў 100000…10FFFF), дзе кожны x — шаснаццатковая лічба. Напрыклад, сымбаль «я» (U+044F)мае код 044F16 = 110310.
Графічныя сымбалі ў Юнікодзе разьдзяляюцца на падоўжаныя і непадоўжаныя. Непадоўжаныя сымбалі пры выяўленьні не займаюць месца ў радку. Да іх адносяць, у прыватнасьці, знакі націску і іншую дыякрытыку. Як падоўжаныя, гэтак і непадоўжаныя сымбалі маюць уласныя коды. Падоўжаныя коды інакш называюць базавымі (анг. base characters), а непадоўжаныя — мадыфікатарамі (анг. combining characters); прычым апошнія ня могуць ужывацца асобна. Напрыклад, сымбаль «á» можа быць ужыты як пасьлядоўнасьць базавага сымбалю «a» (U+0061)і мадыфікатара « ́» (U+0301), гэтак і як маналітны сымбаль «á» (U+00C1).
Асаблівы тып мадыфікатараў — сэлектары варыянту напісаньня (анг. variation selectors). Яны ўплываюць толькі на тыя сымбалі, для якіх такія варыянты вызначаныя. У вэрсіі 5.0 стандарту варыянты напісаньня вызначаныя для шэрагу матэматычных сымбаляў, для сымбаляў традыцыйнага мангольскага альфабэту і для сымбаляў мангольскага квадратнага пісьма.