مُطبِّع Unicode
قد تُخزَّن السلسلة النصية المرئية نفسها على شكل تسلسلات بايت مختلفة، بحسب ما إذا كانت النبرة موجودة كنقطة ترميز واحدة أم كحرف مع علامة دمج. يحوّل هذا المُطبِّع النص بين أشكال التطبيع الأربعة في Unicode (NFC وNFD وNFKC وNFKD)، كي تُقارَن سلاسلك بنظافة في قواعد البيانات وفهارس البحث وبرامج إزالة التكرار ومطابقات التعبيرات النمطية (regex).
كيفية تطبيع نص Unicode
-
1
الصق مُدخلك
الصق السلسلة: حروف بعلامات تشكيل، أو نص CJK، أو حروف مركّبة، أو أي شيء يبدو غير متسق.
-
2
اختر شكلا
اختر NFC (مركّب، شكل الويب المعتاد)، أو NFD (مفكَّك)، أو NFKC (مركّب توافقي)، أو NFKD (مفكَّك توافقي).
-
3
قارن الأعداد
تبلّغ الأداة بعدد الأحرف (نقاط الترميز) وطول البايت قبل وبعد، كي ترى إن كان الشكل قد قصّر السلسلة أم أطالها.
-
4
انسخ الناتج المطبَّع
استخدم النتيجة في قاعدة بياناتك، أو حمولة واجهة برمجة التطبيقات (API)، أو مولّد الـ slug، أو تجهيزة الاختبار.
الأشكال الأربعة ومتى يُستخدم كل منها
تطبيع Unicode مُعرَّف في الملحق المعياري UAX #15. وتختلف الأشكال الأربعة على محورين: قانوني مقابل توافقي، ومركّب مقابل مفكَّك.
مرجع جنبا إلى جنب
| الشكل | التركيب | التعيين | متى يُستخدم |
|---|---|---|---|
| NFC | مركّب | قانوني فقط | الافتراضي لمحتوى الويب وقواعد البيانات وأسماء الملفات |
| NFD | مفكَّك | قانوني فقط | معالجة نصية تزيل علامات التشكيل حرفا حرفا |
| NFKC | مركّب | يشمل التوافق | البحث والمعرّفات ومرشحات الرسائل غير المرغوبة وطيّ العرض |
| NFKD | مفكَّك | يشمل التوافق | تطبيع صارم قبل إزالة علامات التشكيل |
الأشكال القانونية تحفظ المعنى
اكتب é وبدّل بين الأشكال. يبلّغ NFC بحرف واحد وبايتين (نقطة الترميز الوحيدة U+00E9)، بينما يبلّغ NFD بحرفين وثلاثة بايتات (حرف e عادي متبوع بنبرة حادّة دامجة، U+0301). يبدو الاثنان متطابقين على الشاشة لكنهما تسلسلا بايت مختلفان، وهذا التباين تحديدا هو ما يعالجه التطبيع. الأشكال القانونية تعيد ترتيب البايتات فحسب، لذا فإن é في أي من الشكلين يعني دائما الحرف e بنبرة حادّة.
ما الذي يغيّره “التوافق” فعلا
تعيد أشكال K (وهي NFKC وNFKD) كتابة الحروف التي تبدو متقاربة لكنها تحمل تنسيقا مختلفا. وهي عملية بفقدان: لا يمكنك استعادة الأصل. على سبيل المثال:
fi(U+FB01، الرابطة اللاتينية الصغيرة fi) تصبحfi(حرفان)①(U+2460، الرقم واحد داخل دائرة) يصبح1㌀(U+3300، مربع CJK «apaato») يصبحアパートAكامل العرض (U+FF21) يصبحA
هذا قويّ للبحث وإزالة التكرار لكنه مدمِّر للتنسيق، لذا لا تلجأ إلى أشكال K إلا حين لا تهمّ الدقة البصرية.
قاعدة عملية
- خزّن محتوى المستخدم بشكل NFC.
- قارن المعرّفات بشكل NFC كي يتطابق
caféالمكتوب بنقطة ترميز واحدة معcaféالمكتوبe+ U+0301؛ وارتقِ إلى NFKC حين تريد أيضا أن يتطابقfiمعfi، أوAكامل العرض معA، كما تفعل قواعد المعرّفات في UAX #31. - أنشئ روابط “slug” بلا علامات تشكيل عبر التطبيع إلى NFD ثم حذف كتلة علامات الدمج من U+0300 إلى U+036F.
الأسئلة الشائعة
عادةً يعني ذلك أن مُدخلك كان بالفعل في الشكل المستهدف. الصق نصا يمزج بين مصادر مختلفة (اسم ملف على جهاز Mac، أو مقطعا منسوخا من ملف PDF، أو سطرا من قاعدة بيانات قديمة)، وسيكون أرجح كثيرا أن ترى عدد الأحرف والبايتات يتغيّر.
لعناوين URL المعروضة، استخدم NFC. أما للـ slug التي تريدها ASCII خالصة، فطبّع إلى NFD، واحذف علامات الدمج بتعبير نمطي على النطاق من U+0300 إلى U+036F، ثم حوّلها إلى أحرف صغيرة. ويُعَدّ NFKD بديلا حين تريد أيضا طيّ الحروف المركّبة والأرقام داخل الدوائر.
الأشكال القانونية (NFC وNFD) لا تغيّر المعنى أبدا، بل تعيد ترتيب البايتات فقط. أما أشكال التوافق (NFKC وNFKD) فتغيّره فعلا: تنفصل الحروف المركّبة، وتُطوى الحروف كاملة العرض، وتُسطَّح الأحرف العلوية. استخدمها فقط حين يكون ذلك ما تريده.
يجري التطبيع على خادمنا عبر فئة Normalizer في PHP، وتعود النتيجة في الطلب نفسه؛ ولا يُخزَّن نصك. لا نسجّل سوى حدث مجهول يفيد بأي شكل طُبِّق، ولا نسجّل المحتوى نفسه أبدا.
أدوات ذات صلة
أداة البحث عن كلمات Wordle
أدخل تخمينات إنجليزية من خمسة أحرف، وحدّد لون كل خانة بالأخضر أو الأصفر أو الرمادي للعثور على كلمات مطابقة. تراعي الأداة الحروف المتكررة بدقة.
محوّل نصوص غيارو
حوّل الكانا اليابانية وبعض الكانجي الشائعة والأحرف اللاتينية إلى غيارو-موجي، أو اختر أنماط Unicode كاملة العرض أو داخل دوائر أو مربعات أو بخط عريض.
رمز المربع: نسخ ولصق
انسخ رمز المربع ² إضافة إلى الأرقام العلوية والسفلية والكسور الشائعة ووحدات المساحة والحجم مثل m² وcm² وkm². انقر للنسخ.
مترجم الكتابة الهيروغليفية
اكتب اسمك بالهيروغليفية المصرية بالرموز التي استخدمها الكتبة للأصوات المفردة. أضف خرطوشًا، وانسخ الرموز أو نزّلها صورة PNG.
نسخ الرموز الرياضية
تصفّح وانسخ الرموز الرياضية، باي وسيغما والتكامل واللانهاية والحروف اليونانية ونظرية المجموعات، جاهزة للصق في أي مكان يدعم يونيكود.
نسخ رموز القلب
انسخ مجموعة منتقاة من رموز القلب والإيموجي الملون والزخارف. اطّلع على نقاط ترميز يونيكود الدقيقة قبل اللصق.
الأداة متاحة بلغات أخرى
- ตัวปรับข้อความให้เป็นมาตรฐาน Unicode [TH]
- Normalizator Unicode [PL]
- Normalizador Unicode [ES]
- Unicode正規化ツール [JA]
- Normalizador Unicode [PT]
- Normaliseur Unicode [FR]
- Bộ chuẩn hóa Unicode [VI]
- 유니코드 정규화기 [KO]
- Unicode-normaliserare [SV]
- Unicode-normaliseerder [NL]
- Unicode-Normalisierer [DE]
- Penormal Unicode [ID]
- Unicode Normalizer [EN]
- Normalizzatore Unicode [IT]
- Нормализатор Unicode [RU]
- Unicode Normalleştirici [TR]
- Unicode 规范化工具 [ZH]