Skip to main content
Best Emojis

محوّل الإيموجي إلى Unicode

الصق إيموجي، أو جملة كاملة فيها إيموجي، واحصل على كل صيغة يحتاجها المطوّر: نقاط ترميز Unicode، وكيانات HTML، وصيغ الهروب في CSS وJavaScript، وPython، وبايتات UTF-8 الخام. ويعمل المحوّل في الاتجاه المعاكس أيضًا. كل شيء يجري داخل متصفحك، ويوضح عدّاد الطول لماذا قد يُحتسب إيموجي واحد سبعة محارف في لغة وثمانية وعشرين بايتًا في أخرى.

المحارف التي تراها
3
نقاط الترميز (len في Python)
6
وحدات UTF-16 (.length في JS)
10
بايتات UTF-8
22
نقاط ترميز UnicodeU+1F44D U+1F3FD U+2764 U+FE0F U+1F1EF U+1F1F5
كيان HTML (ست عشري)👍🏽❤️🇯🇵
كيان HTML (عشري)👍🏽❤️🇯🇵
خاصية content في CSS\1F44D \1F3FD \2764 \FE0F \1F1EF \1F1F5
JavaScript (ES6)\u{1F44D}\u{1F3FD}\u2764\uFE0F\u{1F1EF}\u{1F1F5}
UTF-16 (Java وC# وJSON)\uD83D\uDC4D\uD83C\uDFFD\u2764\uFE0F\uD83C\uDDEF\uD83C\uDDF5
Python\U0001F44D\U0001F3FD\u2764\uFE0F\U0001F1EF\U0001F1F5
بايتات UTF-8F0 9F 91 8D F0 9F 8F BD E2 9D A4 EF B8 8F F0 9F 87 AF F0 9F 87 B5
ترميز URL%F0%9F%91%8D%F0%9F%8F%BD%E2%9D%A4%EF%B8%8F%F0%9F%87%AF%F0%9F%87%B5

ثمانية إيموجي، وأربعة أطوال مختلفة

كل صف أدناه إيموجي واحد على الشاشة. أما الأعمدة الأخرى فهي ما تحسبه اللغات وقواعد البيانات المختلفة، وقد حسبها المحوّل نفسه المستخدم في الأداة أعلاه.

الإيموجينقاط الترميزالمرئيPythonJavaScriptبايتات UTF-8
😀نقطة ترميز واحدةU+1F6001124
❤️رمز نصي مع محدد النمطU+2764 U+FE0F1226
👍🏽إيموجي مع لون البشرةU+1F44D U+1F3FD1248
🇯🇵حرفان من مؤشرات المناطقU+1F1EF U+1F1F51248
👩‍💻مربوط بوصلة صفرية العرضU+1F469 U+200D U+1F4BB13511
1️⃣رقم ومحدد ومفتاحU+0031 U+FE0F U+20E31337
🏴󠁧󠁢󠁳󠁣󠁴󠁿تسلسل وسومU+1F3F4 U+E0067 U+E0062 U+E0073 U+E0063 U+E0074 U+E007F171428
🫺Emoji 18.0 (2026)U+1FAFA1124

لماذا قد يبلغ طول إيموجي واحد سبعة محارف

نقاط الترميز هي الأرقام التي يخصصها Unicode، وقد يُبنى الإيموجي من عدة نقاط منها. وعلم اسكتلندا أوضح مثال: علم أسود، وخمسة حروف وسوم غير مرئية تكتب gbsct، ثم وسم إلغاء، أي سبع نقاط ترميز في المجموع. تخزّن JavaScript النص بترميز UTF-16، حيث يشغل كل ما فوق U+FFFF وحدتين، فيكون .length للعلم نفسه 14. ويخصص UTF-8 أربعة بايتات لكل نقطة من تلك النقاط، فيشغل العلم 28 بايتًا في قاعدة البيانات. ولا يطابق ما يراه الإنسان إلا رقم واحد، وهو الرقم الذي لا تسأل عنه معظم الشيفرات. في JavaScript، احسب باستخدام Intl.Segmenter مع ضبط granularity على grapheme، وفي Python يؤدي النمط \X في وحدة regex الخارجية المهمة نفسها.

تخزين الإيموجي في MySQL دون علامات استفهام

إذا تحولت الإيموجي إلى ???? بعد الحفظ، فالعمود يستخدم على الأرجح مجموعة المحارف utf8 في MySQL، التي لا تخزّن رغم اسمها أكثر من ثلاثة بايتات للمحرف. وكل إيموجي فوق U+FFFF يحتاج إلى أربعة، فإما أن تفشل عملية الإدراج وإما أن تضيع البيانات. والحل هو utf8mb4: حوّل الجدول باستخدام ALTER TABLE ... CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci، وتأكد من أن الاتصال نفسه يستخدم utf8mb4 أيضًا، لأن جدولًا سليمًا خلف اتصال utf8 سيظل يشوّه النص. وقد جعل MySQL 8.0 الترميز utf8mb4 افتراضيًا، لذا تصيب المشكلة غالبًا قواعد البيانات القديمة التي رُقّيت بدلًا من إنشائها من جديد.

كيانات HTML وCSS والمسافة اللاحقة

في صفحة تُقدَّم بترميز UTF-8، وهي جميع الصفحات تقريبًا، يمكنك لصق الإيموجي مباشرة في HTML، ولا حاجة إلى كيانات مثل 👍 إلا حين يشوّه قالب أو نظام بريد إلكتروني المحارف الخام. أما CSS فأكثر تدقيقًا. ففي خاصية content، تمتد صيغة الهروب مثل \1F44D حتى أول محرف ليس ست عشريًا، فإذا كان المحرف التالي قابلًا للقراءة كرقم ست عشري وجب إنهاء صيغة الهروب بمسافة. وهذه المسافة تُبتلع ولا تُطبع. ويتضمنها صف CSS لدينا دائمًا بين نقاط الترميز، ولهذا يظهر الإبهام بلون البشرة على شكل \1F44D \1F3FD مع فراغ مقصود.

لماذا يحتسب X كل إيموجي محرفين

حدود عدد المحارف موضع آخر تتباين فيه طرق العد. فمكتبة العد مفتوحة المصدر في X تحتسب معظم الإيموجي محرفين ضمن حد الـ280، أيًّا كانت مكوناتها، فيكلّف 👍 و👩‍💻 القدر نفسه مع أن الأول نقطة ترميز واحدة والثاني ثلاث. والرسائل النصية القصيرة أقسى: فإيموجي واحد يجبر الرسالة كلها على ترميز UCS-2، مما يقلّص الرسالة الواحدة من 160 محرفًا إلى 70. وإذا رفض نموذج أو عمود في قاعدة بيانات أو منصة اجتماعية نصًا يبدو قصيرًا، فجدول الأطوال أعلاه يوضح السبب عادةً.

معجم الإيموجي: نقاط الترميز والوصلات والمحدداتالرموز المختصرة للإيموجي في Slack وDiscord وGitHubكل الإيموجي للنسخ

أسئلة عن نقاط ترميز الإيموجي

ما رمز Unicode لإيموجي الوجه المبتسم؟

الوجه المبتسم ابتسامة عريضة 😀 هو U+1F600. اكتبه في HTML هكذا 😀، وفي CSS هكذا \1F600، وفي JavaScript هكذا \u{1F600} أو بالصيغة الأقدم \uD83D\uDE00، وفي Python هكذا \U0001F600. والصق أي إيموجي آخر في المحوّل لتحصل على رموزه.

لماذا يكون لإيموجي واحد نقطتا ترميز؟

كثير من الإيموجي تسلسلات. فالإيموجي ❤️ هو رمز القلب U+2764 مع محدد النمط U+FE0F، و👍🏽 إبهام مرفوع مع لون بشرة، والأعلام حرفان. ويرسم جهازك التسلسل صورةً واحدة.

ما الفرق بين \u{1F600} و\uD83D\uDE00؟

هما الإيموجي نفسه. تسمّي \u{1F600} نقطة الترميز مباشرة وتعمل في JavaScript الحديثة. أما \uD83D\uDE00 فهي الزوج البديل في UTF-16، وهي الصيغة الوحيدة التي تقبلها JavaScript القديمة وJava وC# وJSON للمحارف التي تتجاوز U+FFFF.

كم بايتًا يشغل الإيموجي؟

في UTF-8، أربعة بايتات لكل نقطة ترميز فوق U+FFFF، فيشغل إيموجي بسيط مثل 😀 أربعة بايتات. أما التسلسلات فتتراكم: 👍🏽 يشغل 8 بايتات، و👩‍💻 يشغل 11، وعلم اسكتلندا 28.

هل يرسل هذا المحوّل نصي إلى أي مكان؟

لا. يجري التحويل بالكامل داخل متصفحك باستخدام JavaScript. ولا يُرفع أو يُخزَّن أي شيء تكتبه أو تلصقه.