มาตรฐาน Unicode

ระนาบ

บล็อกจุดรหัสต่อเนื่องกัน 65,536 จุด Unicode มี 17 ระนาบ (0–16): ระนาบ 0 คือ BMP ระนาบ 1 คือ SMP (emoji, อักษรโบราณ) ระนาบ 2 คือ SIP (ส่วนขยาย CJK)

· Updated

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)

คำศัพท์ที่เกี่ยวข้อง

เพิ่มเติมใน มาตรฐาน Unicode

Basic Multilingual Plane (BMP)

ระนาบ 0 (U+0000–U+FFFF) ประกอบด้วยอักขระที่ใช้บ่อยที่สุด ได้แก่ Latin, Greek, Cyrillic, CJK, Arabic และสัญลักษณ์ส่วนใหญ่ อักขระในระนาบนี้พอดีกับหนึ่งหน่วยรหัส …

CJK

จีน ญี่ปุ่น และเกาหลี คำรวมสำหรับบล็อกอักษรจีน Han ที่รวมกันและอักษรที่เกี่ยวข้องใน Unicode CJK Unified Ideographs มีอักขระมากกว่า 20,992 …

Han Unification

The process of mapping Chinese, Japanese, and Korean ideographs that share a …

Hangul Jamo

The individual consonant and vowel components (jamo) of the Korean Hangul writing …

ISO 10646 / Universal Character Set

มาตรฐานสากล (ISO/IEC 10646) ที่ซิงโครไนซ์กับ Unicode กำหนดชุดอักขระและจุดรหัสเดียวกัน แต่ไม่มีอัลกอริธึมและคุณสมบัติเพิ่มเติมของ Unicode

Unicode

มาตรฐานการเข้ารหัสอักขระสากลที่กำหนดหมายเลขเฉพาะ (จุดรหัส) ให้กับทุกอักขระในทุกระบบการเขียน เวอร์ชัน 16.0 มีอักขระที่กำหนดแล้ว 154,998 ตัว

Unicode Character Database (UCD)

คอลเลกชันไฟล์ข้อมูลที่อ่านได้ด้วยเครื่องซึ่งกำหนดคุณสมบัติอักขระ Unicode ทั้งหมด รวมถึง UnicodeData.txt, Blocks.txt, Scripts.txt และอื่นๆ

Unicode Standard Annex (UAX)

Normative or informative documents that are integral parts of the Unicode Standard. …

Unicode Technical Report (UTR)

Informational documents published by the Unicode Consortium covering specific topics like security …

ค่าสเกลาร์ Unicode

จุดรหัสใดๆ ยกเว้นจุดรหัส surrogate (U+D800–U+DFFF) ชุดค่าที่ถูกต้องซึ่งสามารถแทนอักขระจริงได้ รวมทั้งสิ้น 1,112,064 ค่า