UTF-16

Encoding & Standards

ترميز Unicode متغير العرض يستخدم 2 أو 4 بايت لكل حرف، وتستخدمه JavaScript وJava وWindows داخليًا.

UTF-16 uses 16-bit code units. Characters in the Basic Multilingual Plane (U+0000 to U+FFFF) use one code unit (2 bytes). Characters above U+FFFF — including most emoji — require a surrogate pair (4 bytes).

This is why JavaScript's `string.length` can be surprising with emoji: `'😀'.length` returns 2 (two UTF-16 code units), not 1. Developers must use spread syntax (`[...'😀'].length`) or `Array.from()` for correct counting.

UTF-16 exists in two byte orders: UTF-16LE (little-endian, used by Windows) and UTF-16BE (big-endian). A BOM character can indicate which is used.

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

BOM (BOM) BOM (BOM)
علامة ترتيب البايت (U+FEFF) توضع في بداية الملف النصي للإشارة إلى ترتيب البايت (الإنهاء) في ترميزات UTF-16/UTF-32.
UTF-32 UTF-32
ترميز Unicode ثابت العرض يستخدم 4 بايت بالضبط لكل حرف، مما يوفر تعيينًا مباشرًا لنقاط الرمز على حساب المساحة.
UTF-8 UTF-8
ترميز Unicode متغير العرض يستخدم من 1 إلى 4 بايت لكل حرف، وهو الترميز السائد على الويب (تستخدمه 98%+ من المواقع).
الزوج البديل الزوج البديل
وحدتا ترميز UTF-16 (بديل عالٍ من U+D800 إلى U+DBFF يتبعه بديل منخفض من U+DC00 إلى U+DFFF) تمثلان معًا حرفًا يتجاوز U+FFFF.
المستوى التكميلي متعدد اللغات (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.