مفكك ترميز Unicode
حوّل بين هروبات Unicode والنص. يدعم \uXXXX و \UXXXXXXXX وكيانات &#XXXX; والبحث عن نقاط الرمز. جميع العمليات تتم في متصفحك.
ستظهر النتيجة هنا...
معلومات الحرف
| الحرف | نقطة الرمز | بايتات UTF-8 | كيان HTML | هروب CSS | هروب JS |
|---|
كيفية استخدام مفكك ترميز Unicode
اختر الوضع
حدد وضع فك الترميز (هروب إلى نص) أو ترميز (نص إلى هروب).
أدخل البيانات
الصق هروبات Unicode أو نصاً عادياً حسب الوضع.
تحويل
انقر تحويل وراجع النتيجة وتفاصيل الأحرف.
ما هو ترميز Unicode؟
يسمح ترميز Unicode بتمثيل أحرف من أي لغة أو نظام رموز بتنسيقات مختلفة. تشمل تنسيقات الترميز الشائعة \uXXXX (JavaScript/JSON) و &#NNNNN; (كيانات HTML) و U+XXXX (نقاط رمز Unicode). تضمن هذه الترميزات إمكانية نقل النص بأمان وعرضه عبر الأنظمة المختلفة.
تنسيقات الترميز
ترميز JavaScript
يُستخدم في سلاسل JSON و JavaScript
كيانات HTML (&#XXXX;)
يُستخدم في HTML لتمثيل الأحرف الخاصة
هروبات CSS (\XXXXXX)
يُستخدم في محتوى CSS والمعرّفات
إصلاح النص المشوّه (Mojibake)
يظهر النص المشوّه (mojibake) عند قراءة بايتات مرمّزة بترميز ما بترميز آخر. الحالة الأشيع: قراءة بايتات UTF-8 كـ Windows-1252 أو Latin-1، فيتحول "café" إلى "café". بدّل إلى وضع إصلاح النص المشوّه أعلاه والصق النص التالف، وسيتعامل فاك التشفير مع كل محرف كبايت خام ويعيد فكّه كـ UTF-8.
أمثلة شائعة على النص المشوّه
| مشوّه | بعد الإصلاح | السبب |
|---|---|---|
| café | café | UTF-8 → Latin-1 |
| å¼ ä¸‰ | 张三 | UTF-8 → Latin-1 |
| “hi†| “hi” | UTF-8 → double-encoded |
| ü ö ñ | ü ö ñ | UTF-8 → Windows-1252 |
| �� | � � | بايتات مفقودة أصلًا (U+FFFD) |
لتجنب التشوّه في تطبيقاتك، صرّح دائمًا بالترميز: HTML باستخدام <meta charset="UTF-8">، وترويسة Content-Type: text/html; charset=utf-8، وUTF-8 في قواعد البيانات والاتصالات.
مقارنة UTF-8 و UTF-16 و UTF-32
| UTF-8 | UTF-16 | UTF-32 | |
|---|---|---|---|
| وحدة الترميز | 8 bit | 16 bit | 32 bit |
| A (U+0041) | 41 | 00 41 | 00 00 00 41 |
| é (U+00E9) | C3 A9 | 00 E9 | 00 00 00 E9 |
| 中 (U+4E2D) | E4 B8 AD | 4E 2D | 00 00 4E 2D |
| 🎉 (U+1F389) | F0 9F 8E 89 | D8 3C DF 89 | 00 01 F3 89 |
| الأنسب لـ | الويب و JSON وواجهات API — متوافق مع ASCII ومضغوط | النصوص في الذاكرة لـ Java و JavaScript و C# | الوصول المباشر لنقاط الترميز، نادر |
نقاط Unicode الشائعة
مرجع سريع للمحارف الأكثر بحثًا: علامات الترقيم والرموز والعملات والأحرف المُشكَّلة والرموز الرياضية مع نقاط U+XXXX.
الترقيم والرموز
| “U+201C | ”U+201D | ‘U+2018 | ’U+2019 |
| –U+2013 | —U+2014 | …U+2026 | U+A0 |
| ©U+A9 | ®U+AE | ™U+2122 | °U+B0 |
رموز العملات
| €U+20AC | £U+A3 | ¥U+A5 | ₹U+20B9 |
| ¢U+A2 | ₽U+20BD | ₩U+20A9 | ฿U+E3F |
أحرف مُشكَّلة
| éU+E9 | èU+E8 | êU+EA | üU+FC |
| öU+F6 | ñU+F1 | åU+E5 | øU+F8 |
| çU+E7 | ßU+DF | ąU+105 | žU+17E |
الرياضيات والأسهم
| ±U+B1 | ×U+D7 | ÷U+F7 | ≈U+2248 |
| ≠U+2260 | ≤U+2264 | ≥U+2265 | →U+2192 |
| ∞U+221E | ∑U+2211 | √U+221A | µU+B5 |
الأسئلة الشائعة
تدعم هذه الأداة \uXXXX (BMP) و \UXXXXXXXX (Unicode الكامل) و &#DDDD; (كيان HTML عشري) و &#xHHHH; (كيان HTML ست عشري) و U+XXXX (تدوين نقطة الرمز) لفك الترميز.
يُشفّر UTF-8 كل نقطة رمز Unicode باستخدام 1 إلى 4 بايت. أحرف ASCII (من U+0000 إلى U+007F) تستخدم 1 بايت، والأحرف اللاتينية والشائعة الأخرى تستخدم 2 بايت، ومعظم أحرف CJK تستخدم 3 بايت، والرموز التعبيرية والأحرف النادرة تستخدم 4 بايت.
\uXXXX يستخدم 4 أرقام ست عشرية ويمكنه تمثيل الأحرف في المستوى متعدد اللغات الأساسي (من U+0000 إلى U+FFFF). \UXXXXXXXX يستخدم 8 أرقام ست عشرية ويمكنه تمثيل أي حرف Unicode بما في ذلك تلك التي تتجاوز BMP.
هذه علامات على mojibake: فُكّت بايتات UTF-8 كـ Windows-1252/Latin-1. تعني "é" أن بايتي UTF-8 للحرف "é" (0xC3 0xA9) عُرضا كمحرفين منفصلين. استخدم وضع إصلاح النص المشوّه. أما "�" فهي U+FFFD، محرف الاستبدال — البايتات فُقدت ولا يمكن استعادتها.
يرمّز UTF-8 المحارف في 1–4 بايتات وهو متوافق تمامًا مع ASCII، ما يجعله الافتراضي للويب و JSON وواجهات API. يستخدم UTF-16 بايتين أو أربعة (أزواج بديلة بعد U+FFFF) وتستخدمه JavaScript و Java و Windows داخليًا. لنصوص الويب، UTF-8 أصغر وأكثر أمانًا.
نقطة الرمز هي رقم يُخصَّص لحرف في معيار Unicode (U+00E9 للحرف é)؛ أما وحدة الترميز فهي وحدة التخزين التي يستخدمها الترميز. وحدات ترميز UTF-8 هي بايتات بحجم 8 بت - يأخذ U+00E9 منها اثنتين - بينما وحدات ترميز UTF-16 بحجم 16 بت، وتحتاج الأحرف التي تتجاوز U+FFFF إلى وحدتين منها (زوج بديل، surrogate pair). سلاسل JavaScript النصية مشفَّرة بترميز UTF-16، لذا فإن 'hello'.length تساوي 5 بينما .length لأي رمز تعبيري (إيموجي) تساوي 2.
يمكن تمثيل الحرف الظاهر نفسه بتتابعات بايتات متعددة: الحرف é إما كحرف مركَّب واحد جاهز (NFC) أو كحرف e مع علامة نطق منفصلة (NFD). صيغة NFC تؤلِّف الحروف وNFD تفكِّكها، بينما تضيف NFKC/NFKD طيَّ أحرف التوافق أيضاً (الأشكال كاملة العرض وحروف التراكب). مقارنة مدخلات المستخدم أو حساب بصماتها (hashing) دون التطبيع أولاً سبب كلاسيكي لتكرار الحسابات وفشل عمليات البحث - مثل تراكب fi مقابل f+i.
علامة ترتيب البايتات (BOM) هي الرمز U+FEFF مكتوباً في بداية تدفق البيانات (EF BB BF في UTF-8) للإشارة إلى الترميز. عادةً ما تُخفيه المحررات، لكنه يصبح لاحقاً حرفاً أولياً غير مرئي: يكتسب ترويسة CSV مفتاحاً شبحياً، ويفشل تحليل JSON بسبب هذه الرمزة الشاردة، وتُصدِر جلسات PHP ذلك قبل الترويسات. لا يحتاج UTF-8 إلى BOM لأنه لا يعاني من أي غموض في ترتيب البايتات - احفظ ملفاتك بدونه.
الأدوات ذات الصلة
فاك ترميز Hex
التحويل بين النظام الست عشري والنص مع خيارات قابلة للتخصيص للمحددات والبادئات
فاك ترميز كيانات HTML
ترميز وفك ترميز كيانات HTML — التحويل بين الأحرف الخاصة ومراجع الكيانات
أداة فك ترميز Base64/URL
فك ترميز وتشفير Base64، وتحليل السلاسل المشفرة لعناوين URL، ومعاينة صور Base64، وفك ترميز أجزاء رأس أو حمولة JWT
المراجع المعتمدة
المصادر الأساسية وراء هذه الأداة - معايير ومواصفات رسمية، وليست ملخصات منقولة عن الغير.