Düzlem
65.536 kod noktasından oluşan bitişik blok. Unicode'da 17 düzlem vardır (0–16): Düzlem 0 BMP, Düzlem 1 SMP (emoji, tarihi yazılar), Düzlem 2 SIP (CJK uzantıları).
What is a Unicode Plane?
A plane is a group of 65,536 contiguous code points in the Unicode code space. Unicode divides its 1,114,112 total code points into 17 planes, numbered 0 through 16. Each plane spans exactly 0x10000 (65,536) code points:
- Plane 0: U+0000–U+FFFF
- Plane 1: U+10000–U+1FFFF
- Plane 2: U+20000–U+2FFFF
- ...
- Plane 16: U+100000–U+10FFFF
The plane number appears as the first two hex digits of a 6-digit code point. For example,
U+1F600 is in Plane 1 (the leading 1), and U+20001 is in Plane 2.
The 17 Planes
| Plane | Range | Name | Key Contents |
|---|---|---|---|
| 0 | U+0000–U+FFFF | Basic Multilingual Plane (BMP) | Latin, CJK, Arabic, Hangul, most modern scripts |
| 1 | U+10000–U+1FFFF | Supplementary Multilingual Plane (SMP) | Historic scripts, emoji, musical notation, math |
| 2 | U+20000–U+2FFFF | Supplementary Ideographic Plane (SIP) | CJK unified ideograph extensions B–F |
| 3 | U+30000–U+3FFFF | Tertiary Ideographic Plane (TIP) | CJK extension G (added Unicode 13.0) |
| 4–13 | U+40000–U+DFFFF | Unassigned | No characters assigned |
| 14 | U+E0000–U+EFFFF | Supplementary Special-purpose Plane (SSP) | Tags (U+E0000–U+E007F), variation selectors |
| 15 | U+F0000–U+FFFFF | Private Use Area A (PUA-A) | Application-defined characters |
| 16 | U+100000–U+10FFFF | Private Use Area B (PUA-B) | Application-defined characters |
Why Planes Exist
The plane structure was introduced when Unicode expanded from a 16-bit code space (65,536 points) to a 21-bit code space (1,114,112 points). The 16-bit expansion was called UCS-2; the 21-bit extension was encoded as UTF-16 using surrogate pairs for code points above the BMP.
The upper bound of U+10FFFF was chosen deliberately to match the maximum value encodable by UTF-16 surrogate pairs (which can reach exactly 1,048,576 supplementary characters, plus the 65,536 BMP positions = 1,114,112 total). This made UTF-16 the natural boundary for the code space.
Accessing Code Points in Planes
# Python: code point value reveals the plane
cp = 0x1F600 # 😀 GRINNING FACE
plane = cp >> 16 # Right-shift 16 bits to get plane number
print(plane) # 1 (Plane 1 / SMP)
# Check if BMP
is_bmp = cp <= 0xFFFF # False for 😀
// JavaScript: detect supplementary plane characters
function isSupplementary(cp) {
return cp > 0xFFFF;
}
console.log(isSupplementary(0x1F600)); // true
Planes in Encoding
The plane determines how a character is encoded in variable-length encodings:
| Plane | UTF-8 bytes | UTF-16 code units | UTF-32 code units |
|---|---|---|---|
| 0 (BMP) | 1–3 | 1 | 1 |
| 1–16 | 4 | 2 (surrogate pair) | 1 |
Planes 4–13 are entirely unassigned, creating a large reserved area for future expansion.
Common Misconceptions
"Planes are always full" — Most planes are sparsely populated. Plane 1 has many assigned characters but also large unassigned regions. Planes 4–13 are completely empty.
"Higher plane = less important" — Plane 1 contains all modern emoji and many important historic scripts. Plane number reflects historical encoding order, not character importance.
Quick Facts
| Property | Value |
|---|---|
| Total planes | 17 (planes 0–16) |
| Code points per plane | 65,536 |
| BMP plane number | 0 |
| Emoji primary plane | 1 (SMP) |
| CJK extension plane | 2 (SIP), 3 (TIP) |
| Private use planes | 15 and 16 |
| Completely unassigned | Planes 4–13 |
| First non-BMP Unicode version | Unicode 2.0 (1996) |
İlgili Terimler
Unicode Standardı içinde daha fazlası
Henüz hiçbir Unicode sürümünde bir karaktere atanmamış kod noktası, Cn (Atanmamış) olarak …
Bir Unicode sürümünde karakter ataması yapılmış kod noktası. Unicode 16.0 itibariyle, 1.114.112 …
Gelecekteki standardizasyon için ayrılmış kod noktası; kalıcı olarak ayrılan noncharacter'lardan ve kullanıcı …
Düzlem 0 (U+0000–U+FFFF), Latin, Yunan, Kiril, CJK, Arap ve çoğu sembol dahil …
Çince, Japonca ve Korece — Unicode'da birleştirilmiş Han ideograf bloğu ve ilgili …
Düzlem 1–16 (U+10000–U+10FFFF), emoji, tarihi yazılar, CJK uzantıları ve müzik notasyonu içerir. …
The process of mapping Chinese, Japanese, and Korean ideographs that share a …
The individual consonant and vowel components (jamo) of the Korean Hangul writing …
Unicode ile senkronize edilmiş, aynı karakter repertuvarını ve kod noktalarını tanımlayan ancak …
Dahili kullanım için kalıcı olarak ayrılmış kod noktaları (toplam 66): U+FDD0–U+FDEF ve …