محوّل يونيكود Unicode
الصق أي صيغة يونيكود واقرأها نصاً مفهوماً: تسلسلات JS وJava وJSON، وأقواس ES6، ونقاط U+، وبايتات UTF-8 — يتعرّف عليها المحوّل وحده، ثم يسرد بقية الصيغ دفعة واحدة. يعمل كاملاً في متصفحك.
كل شيء يعمل داخل متصفحك — لا يُرفَع مدخلك ولا يُسجَّل ولا يُخزَّن أبداً.
تظهر النتيجة هنا كل الصيغ دفعة واحدة
| JavaScript / Java / JSON uXXXX | — | |
|---|---|---|
| ES6 u{XXXXX} | — | |
| Python uXXXX / UXXXXXXXX | — | |
| Go uXXXX / UXXXXXXXX | — | |
| Rust u{XXXXX} | — | |
| نقطة الترميز U+XXXX | — | |
| HTML عشري &#NNNNN; | — | |
| HTML سداسي عشري &#xXXXX; | — | |
| مرمّز URL %XX | — | |
| CSS XXXXXX | — | |
| بايتات UTF-8 hex | — | |
| وحدات UTF-16 hex | — | |
| UTF-32 hex | — | |
| بايتات بالنظام الثماني NNN | — | |
| نقاط ترميز عشرية NNNNN | — |
محرفاً محرفاً
| المحرف | نقطة الترميز | UTF-8 | UTF-16 | النظام الكتابي | الفئة | الاسم |
|---|---|---|---|---|---|---|
| تظهر النتيجة هنا | ||||||
مرجع سريع
| المحرف | نقطة الترميز | JavaScript / Java / JSON | بايتات UTF-8 | مرمّز URL | HTML عشري |
|---|---|---|---|---|---|
| 中文 | U+4E2D U+6587 | \u4E2D\u6587 | E4 B8 AD E6 96 87 | %E4%B8%AD%E6%96%87 | 中文 |
| 😀 | U+1F600 | \uD83D\uDE00 | F0 9F 98 80 | %F0%9F%98%80 | 😀 |
| A | U+0041 | A | 41 | A | A |
| ␣ U+3000 | U+3000 | \u3000 | E3 80 80 | %E3%80%80 |   |
جرى التحقّق من السلوك مقابل Node وPython وJava وGo ومحرّك متصفح حقيقي، لا افتراضه من التوثيق.
ما هو تسلسل هروب يونيكود؟
تسلسل هروب يونيكود يكتب المحرف بمحارف ASCII وحدها، فينجو من الأنظمة العاجزة عن حمل المحرف نفسه. والمحرف الواحد له تسلسل مختلف في كل لغة تقريباً: تكتب JavaScript وJSON أربع خانات سداسية عشرية لكل وحدة ترميز UTF-16، وتأخذ ES6 وRust نقطة الترميز كاملة بين قوسين معقوفين، وتضيف Python وGo صيغة عريضة من ثماني خانات، وتكتفي CSS بشرطة مائلة خلفية مجرّدة، ولـHTML مراجعه الرقمية والمسمّاة الخاصة به. كلها تصف نقطة الترميز نفسها، ولهذا قد تصلك السلسلة الواحدة في نصف دزينة من الأشكال.
中文
U+4E2D U+6587 code point
\u4E2D\u6587 JavaScript / Java / JSON
\u{4E2D}\u{6587} ES6 / Rust
E4 B8 AD E6 96 87 UTF-8
%E4%B8%AD%E6%96%87 URL
中文 HTML ماذا يفعل هذا المحوّل
يتعرّف على الصيغة نيابةً عنك
تسلسلات الهروب والأقواس المعقوفة والتسلسلات العريضة ونقاط الترميز والكيانات وترميز النسبة المئوية وسلاسل البايتات — يُكشف ذلك كله دون مبدّل أوضاع.
ينجو من المدخلات المختلطة
تتغيّر الأجزاء المرمّزة وحدها. تبقى علامات ترقيم JSON ومسارات Windows والشرطات المائلة الخلفية المهروبة أصلاً كما هي.
كل الصيغ دفعة واحدة
لصقة واحدة تنتج الجدول كاملاً، فلا تحوّل مرّتين للانتقال من لغة إلى أخرى.
صحّة تخصّ كل لغة على حدة
المحارف خارج BMP تُكتب بالصيغة العريضة لـPython وGo، حيث يفشل الزوج البديل.
فحص على مستوى المحرف
نقطة الترميز، وبايتات UTF-8 وUTF-16، والنظام الكتابي والفئة لكل محرف، مع اسم المحرف في يونيكود متى كان له اسم رسمي.
يكشف المحارف غير المرئية
علامات ترتيب البايتات والروابط صفرية العرض والمسافات غير الفاصلة تحصل على بديل مرئي.
أمثلة
فكّ سطر سجلّ كاملاً دون المساس ببقيته
{"msg":"\u4e2d\u6587 failed","code":500} {"msg":"中文 failed","code":500} تتغيّر تسلسلات الهروب وحدها. تبقى علامات الاقتباس وأسماء المفاتيح والأرقام كما هي تماماً، فتستطيع لصق سطر السجلّ بأكمله بدل انتقاء التسلسلات منه يدوياً.
صيغ مختلطة في لصقة واحدة
U+4E2D \u{1F600} 中 \ud83d\ude00 中 😀 中 😀
نقطة ترميز، وتسلسل ES6 بأقواس معقوفة، وكيان HTML، وزوج بديل (surrogate pair) — كلها مفكوكة في مرور واحد. لم يلزم تحديد شيء ولا ضبط أي إعداد مسبقاً.
حرف واحد، وكل صيغه
中
\u4E2D JavaScript / Java / JSON
\u{4E2D} ES6 / Rust
U+4E2D code point
E4 B8 AD UTF-8
\344\270\255 octal الحرف نفسه مكتوباً بالطريقة التي تتوقّعها كل لغة. انتبه إلى أن Python وGo تحتاجان الصيغة العريضة للمحارف خارج BMP — فالزوج البديل يمنع الترجمة في Go ويرفع UnicodeEncodeError في Python.
طريقة الاستخدام
- 1
الصق
أدرِج تسلسلات هروب أو نقاط ترميز أو كيانات أو بايتات مرمّزة أو نصاً عادياً. لا حاجة إلى إخبار الأداة أيّها هو.
- 2
اقرأ النتيجة
يظهر النص المقروء فوراً، ومعه إشارة إلى الصيغ التي جرى التعرّف عليها.
- 3
انسخ الصيغة التي تحتاجها
تُسرَد كل الصيغ أسفل النتيجة، ولكل سطر زر نسخ خاص به.
- 4
افحص إن بدا شيء غريباً
افتح جدول المحارف لترى نقاط الترميز والبايتات والنظام الكتابي والأسماء، وفعّل «إظهار المحارف غير المرئية» لكشف المخفيّ منها.
أخطاء يجدر أن تعرفها
كتابة زوج بديل حيث تريد اللغة تسلسلاً عريضاً
الزوج الذي يعمل في JSON يصير نصفين مكسورين في Python ويمنع الترجمة في Go. استخدم الصيغة العريضة للمحارف فوق U+FFFF.
\ud83d\ude00
\U0001F600
فكّ المراجع الرقمية في HTML بوصفها نقاط ترميز مجرّدة
المراجع بين 128 و159 يجب أن تُقرأ عبر windows-1252. التنفيذ الساذج يحوّل علامة الاقتباس المفردة اليمنى إلى محرف تحكّم غير مرئي، ولهذا لا يظهر في تلك المواضع شيء على الإطلاق عند فتح تصدير قديم.
’ -> U+0092
’ -> U+2019
استخدام تسلسل CSS قصير قبل محرف سداسي عشري
يواصل المحلّل التهام الخانات السداسية العشرية، فيندمج التسلسل مع المحرف التالي في نقطة ترميز واحدة خاطئة. احشُ إلى ست خانات.
\4E2Da
\004E2Da
متى تحتاج إليه
- قراءة السجلّات
- كثيراً ما تصل سجلّات الخادم واستجابات الواجهات ومحارفها غير ASCII مهروبة. الصق السطر واقرأه دون تحريره أولاً.
- نقل السلاسل بين اللغات
- انسخ التسلسل بالصيغة التي تقبلها اللغة الهدف بالضبط، بدل التحويل اليدوي بين الأزواج البديلة والتسلسلات العريضة.
- تعقّب علّة ترميز
- حين تفشل مقارنة أو ترفض قاعدة بيانات قيمة، يعرض جدول المحارف نقاط الترميز والبايتات المعنيّة بالضبط.
- تنظيف المحتوى الملصوق
- النص المنسوخ من صفحة ويب أو مستند يحمل غالباً محارف غير مرئية. اعثر عليها قبل أن تصل إلى الإنتاج.
تفاصيل تقنية
- وحدات UTF-16 لا محارف
- تهرّب JavaScript وJava وJSON وحدات ترميز UTF-16، فالمحرف فوق U+FFFF يحتاج تسلسلين. أما Python وGo فتقدّمان بدلاً من ذلك صيغة من ثماني خانات تأخذ نقطة الترميز مباشرة.
- المراجع الرقمية في HTML يُعاد تعيينها
- توجب مواصفة HTML قراءة المراجع الرقمية في المدى من 128 إلى 159 عبر windows-1252 لا بوصفها نقاط ترميز، فالمرجع 146 علامة اقتباس مفردة يمنى لا محرف تحكّم غير مرئي.
- تسلسلات CSS تحتاج حشواً
- يبتلع تسلسل CSS ست خانات سداسية عشرية على الأكثر، فالتسلسل القصير متبوعاً بمحرف سداسي عشري يندمجان في نقطة ترميز واحدة خاطئة. الحشو إلى ست خانات يزيل الالتباس، والمسافة التالية تُبتلع بوصفها فاصلاً منهياً.
- البديل المفرد يختلف مصيره من نظام لآخر
- البديل غير المقترن تحفظه تسلسلة JSON، ويستبدله TextEncoder بصمت، ويرفضه ترميز النسبة المئوية، وتكتبه Java علامة استفهام، ويرفعه Python خطأً.
أفضل الممارسات
- طبّع قبل المقارنة
- اطوِ الطرفين إلى صورة التطبيع نفسها قبل المقارنة أو إزالة التكرار، خصوصاً في الأسماء والمعرّفات.
- فضّل الصيغة العريضة مع Python وGo
- الزوج البديل صالح في JSON لكنه يتعطّل في اللغتين معاً. استخدم التسلسل ذا الثماني خانات حين يكون الهدف شيفرة Python أو Go.
- افحص المحارف غير المرئية مبكراً
- تحقّق من المدخل الملصوق عند الحدّ، بدل تنقيح عدم تطابق بعد ذلك بأيام.
- احتفظ بالقيمة الأصلية
- فكّ الترميز ليس دائماً عكوساً بلا خسارة متى ظهرت محارف الاستبدال. أبقِ القيمة الخام حتى تتيقّن.
أسئلة شائعة
ما معنى \u4e2d\u6587 وكيف أقرأه؟
الشرطات المائلة الخلفية ابتُلعت ولم يبقَ سوى u4e2d. هل يبقى فكّها ممكناً؟
لماذا يظهر إيموجي واحد في صورة تسلسلَي هروب \u؟
كيف أسير في الاتجاه المعاكس وأحوّل النص إلى تسلسلات هروب؟
سلسلتان تبدوان متطابقتين لكن الكود يقول إنهما مختلفتان. لماذا؟
شيء غير مرئي داخل سلسلتي يكسر الكود. كيف أعثر عليه؟
هل تُرفَع بياناتي إلى أي مكان؟
أدوات ذات صلة
عرض جميع الأدوات →محوّل Base64 — ترميز وفك ترميز أونلاين
الترميز والتنسيق
رمّز وفك ترميز Base64 مجاناً أونلاين — محوّل فوري مع دعم UTF-8 والرموز التعبيرية. خصوصية 100% — يعمل في متصفّحك. جرّبه الآن.
محوّل Base64 إلى صورة أونلاين
الترميز والتنسيق
فك ترميز سلسلة Base64 أو عنوان URI للبيانات إلى صورة داخل متصفّحك. عاين واقرأ الأبعاد ونوع MIME ثم نزّل كـ PNG أو JPG أو GIF أو SVG. بلا رفع.
محوّل CSV إلى JSON
الترميز والتنسيق
حوّل CSV إلى JSON في متصفحك. RFC 4180، استنتاج الأنواع، صف العنوان، أمان الأعداد الكبيرة. خصوصية 100%.
محوّل .env إلى JSON
الترميز والتنسيق
الصق ملف .env واحصل على JSON فورًا. كلمات مرور قاعدة بياناتك ومفاتيح API لا تغادر متصفحك أبدًا — خاص 100٪، بلا رفع، محلّل dotenv مجاني.
فكّ كيانات HTML المجانية — فكّ تهريب الرموز
الترميز والتنسيق
فُكّ كيانات HTML وفُكّ تهريب HTML أونلاين — مجانًا، بلا تسجيل، 100% داخل متصفحك. يحوّل المراجع بالاسم والعشرية والسداسية إلى أحرف؛ لا يُرفع أبدًا.
ترميز كيانات HTML المجانية — تهريب الرموز
الترميز والتنسيق
رمّز كيانات HTML وهرّب الأحرف الخاصة (< > & " ') أونلاين — مجانًا، بلا تسجيل، 100% داخل متصفحك. خرج بالاسم أو العشري أو السداسي عشري؛ لا يُرفع أبدًا.