البرامج التعليمية
Claude Opus 5.5: تدقيق تعارض أسماء الملفات في Unicode
اطلب من Claude Opus 5.5 مقارنة أسماء الأصول الخام بمفاتيح مقارنة مطبّعة قبل اقتراح إعادة التسمية.

نفّذ الفكرة باستخدام Panelly
حوّل الإلهام إلى إعلان لمنتجك
ابدأ بصورة منتج وفكرة. أنشئ إعلانًا بأربع لوحات أو مجموعة صور متناسقة أو فيديو باستخدام Panelly.
أنشئ باستخدام Panelly عدّل الطلب قبل بدء الإنشاء.
اطلب من Claude Opus 5.5 مقارنة أسماء الأصول الخام بمفاتيح مقارنة مطبّعة قبل اقتراح إعادة التسمية. قد يتطابق اسمان بصريًا ويختلف تسلسل Unicode داخلهما. احتفظ بالمسار الأصلي ومعرّف ثابت؛ تطابق المفتاح يعني تعارضًا يحتاج تحقيقًا، لا إذنًا بحذف ملف.
ميّز مشكلة الأحرف عن قالب التسمية
يصف تقرير مطور عام 2017 أسماء NFC/NFD في نظام ملفات مدعوم بالسحابة. إنه تقرير تاريخي خاص ببيئته. لا تعممه إلى أن كل أجهزة Mac تعيد كتابة الأسماء، ولا تفترض سلوكًا مماثلًا لدى مستلم ZIP.
تفرّق أسئلة Unicode عن التطبيع بين التكافؤ القانوني والتوافقي. قد تمثل NFC وNFD نصًا متكافئًا بتسلسل مختلف. وقد تزيل NFKC فروق التوافق أيضًا، فلا تعد خيارًا محايدًا لمعرّفات العلامة. تقدم وثائق String.normalize عملية مقارنة صريحة في JavaScript.
| الحقل | الاحتفاظ أو الحساب | الغرض |
|---|---|---|
| معرّف الأصل ومساره الخام | دون تغيير | تحديد المصدر بدقة |
| مفتاح NFC | حساب منفصل | تجميع الأسماء المتكافئة |
| بصمة المحتوى الحقيقية | حساب من البايتات | تمييز المحتوى لا المظهر |
| سياسة الوجهة | توثيق منفصل | قيود حالة الأحرف ونظام الملفات |
مثال اسمان يبدوان متطابقين
يستخدم الاسم الأول أدناه حرف é مركبًا مسبقًا، والثاني e مع علامة نبر مركبة. يحتويان على 8 و9 نقاط ترميز، ويشغلان 9 و10 بايتات UTF-8. إنها حسابات لسلاسل المثال، وليست قواعد عامة لطول أسماء الملفات.
const names = ['caf\u00e9.png', 'cafe\u0301.png'];
const rows = names.map(raw => ({
raw,
codePoints: [...raw].length,
utf8Bytes: new TextEncoder().encode(raw).length,
nfcKey: raw.normalize('NFC')
}));
console.table(rows);
يتطابق مفتاحا NFC. إذا اختلفت بصمتا الملفين الفعليتين، احتفظ بهما وحدّد النسخة المعتمدة التي يمثلها كل منهما. حتى تطابق البصمات يثبت تساوي البايتات فقط؛ فقد تشير حملتان عمدًا إلى الصورة نفسها. لا يستبدل مفتاح المقارنة مفتاح التخزين أو URL العام أو اسم العرض بصمت. سياسة تجاهل حالة الأحرف في الوجهة منفصلة عن التطبيع.
مطالبة تدقيق كاملة للقراءة فقط
دقّق مخزون الأصول دون إعادة تسمية أو حذف أو استبدال أو رفع. يجب أن تشمل المدخلات معرّفًا ثابتًا ومسارًا نسبيًا خامًا وبصمة محسوبة من البايتات الفعلية عند توفرها. لا تختلق البصمات.
أضف مفتاح مقارنة NFC مع حفظ السلسلة الخام. افصل مجموعات التكافؤ القانوني عن تعارض سياسة حالة الأحرف والمسارات المتطابقة تمامًا. لا تستخدم NFKC أو تحويل الأحرف إلى صغيرة لإعادة كتابة أسماء العلامات أو المعرّفات.
لكل تعارض، اعرض المعرّفات والسلاسل الخام مع نقاط الترميز المهربة والبصمات المتاحة وسجلات الاعتماد والقرار المعلّق. تطابق الأسماء المطبعة لا يعني تطابق المحتوى، وتطابق البصمات لا يجيز حذف مراجع الحملات.
أعد بيان وجهة مقترحًا بعد حل التعارضات فقط. احفظ الروابط العامة القائمة إلا إذا اعتُمدت هجرة منفصلة. بعد نسخ معتمد إلى مجلد جديد، قارن الأعداد والبصمات ثم فك أرشيف اختبار في بيئة المستلم المقصود. صرّح بالبيئات غير المختبرة.
هذا استخدام مقترح محدود النطاق وفق دليل Opus الرسمي. حُسب مثال السلاسل محليًا؛ لم تُجرَ إعادة تسمية أصول حقيقية أو تجربة أرشيف لدى مستلم أو تشغيل Opus.
افصل المقارنة عن الهجرة
احتفظ بصفين للمصدرين حتى إن كانا ضمن مجموعة NFC واحدة. احسم الاعتماد وتعارض الوجهة قبل النسخ. اختبر أرشيفًا صغيرًا يحتوي الأسماء المشكلة نفسها؛ العرض السليم في مدير ملفاتك لا يثبت الحفاظ عليها لدى المستلم. إذا تغيّر URL قائم، فتعامل مع التحويلات والمراجع والتخزين المؤقت كهجرة منفصلة.
**هل أحذف كل علامات النبر؟** هذا يغيّر الأسماء وقد ينشئ تعارضات جديدة. استخدم معرّفات ثابتة إن قيّد نظام التسليم الأحرف.
**هل يحل NFC كل التعارضات؟** لا؛ حالة الأحرف والأسماء المحجوزة وطول المسار والصلاحيات تخص الوجهة.
صدّر الصور المعتمدة من Panelly Studio واربطها بالمخزون. يشرح مسار تسمية أصول الإعلان الحقول المقروءة، بينما يفحص هذا التدقيق تسلسل الأحرف. لا يفترض أي منهما دمج Opus في Panelly.


