الزوج البديل

Encoding & Standards

وحدتا ترميز UTF-16 (بديل عالٍ من U+D800 إلى U+DBFF يتبعه بديل منخفض من U+DC00 إلى U+DFFF) تمثلان معًا حرفًا يتجاوز U+FFFF.

Characters with code points above U+FFFF cannot fit in a single 16-bit value. UTF-16 solves this by encoding them as two 16-bit values called a surrogate pair. Since most emoji are above U+FFFF, surrogate pairs are extremely common with emoji.

For example, 😀 (U+1F600) becomes the surrogate pair 0xD83D 0xDE00 in UTF-16. The formula: high surrogate = 0xD800 + ((cp - 0x10000) >> 10), low surrogate = 0xDC00 + ((cp - 0x10000) & 0x3FF).

This is why JavaScript's `'😀'.charCodeAt(0)` returns 55357 (0xD83D) — it's returning the high surrogate, not the actual code point.

المصطلحات ذات الصلة

UTF-16 UTF-16
ترميز Unicode متغير العرض يستخدم 2 أو 4 بايت لكل حرف، وتستخدمه JavaScript وJava وWindows داخليًا.
المستوى المستوى
مجموعة من 65,536 نقطة رمز Unicode متتالية. المستوى 0 هو المستوى متعدد اللغات الأساسي (BMP)؛ وتقع معظم الرموز التعبيرية في المستوى 1 (SMP).
المستوى التكميلي متعدد اللغات (SMP) المستوى التكميلي متعدد اللغات (SMP)
Unicode المستوى 1 (من U+10000 إلى U+1FFFF)، حيث تُخصَّص غالبية نقاط رمز الرموز التعبيرية.
وحدة الرمز وحدة الرمز
أصغر مجموعة بتات تُستخدم لترميز حرف: 8 بت لـ UTF-8، و16 بتًا لـ UTF-16، و32 بتًا لـ UTF-32.

الأدوات ذات الصلة

🔢 بحث Unicode بحث Unicode
أدخل نقطة كود مثل U+1F600 واحصل على الرمز التعبيري وتفاصيل الترميز وبايتات UTF-8/16 وكيانات HTML.
🔍 محلل التسلسل محلل التسلسل
فكّ تشفير تسلسلات ZWJ ومعدّلات لون البشرة وتسلسلات المفاتيح وأزواج الأعلام إلى مكوناتها الفردية.