فهم data:image/png;base64: الغلاف والبايتات

حلّل Data URI عند أول فاصلة، وميّز Base64 عن الترميز المئوي، وتحقّق من تطابق نوع MIME المعلن مع الحمولة.

data:image/png;base64, هي بادئة، وليست صورة كاملة. يقدم موردًا مضمّنًا: المخطط عبارة عن بيانات، ونوع الوسائط المعلن هو image/png، وتشير العلامة إلى أن الحمولة التالية تستخدم Base64. الفاصلة هي الحد الفاصل بين بيانات التعريف والبيانات.

قراءة الهيكل

data:[media-type][;base64],payload

data:text/plain;base64,SGVsbG8=
data:text/plain,Hello%20world

يمثل المثال الأول النص Hello من خلال Base64. يستخدم الثاني ترميز النسبة المئوية بدلاً من ذلك. يجب أن يقوم محلل البيانات URI بفحص البيانات التعريفية قبل اختيار وحدة فك الترميز. يفشل إرسال URI الكامل إلى وحدة فك ترميز Base64 الأولية لأن النقطتين والفاصلة المنقوطة والفاصلة ليست أحرف حمولة.

التقسيم عند الفاصلة الأولى، وليس كل فاصلة. قد تحتوي البيانات المتبقية نفسها على فواصل، خاصة في نص غير Base64 URI. يمكن أن تظهر معلمات نوع الوسائط الاختيارية قبل علامة Base64. عند حذف نوع الوسائط، يكون لتنسيق البيانات URL نوع نص ومجموعة أحرف افتراضية؛ هذا الإعداد الافتراضي لا يحول البايتات الثنائية العشوائية إلى نص قابل للقراءة.

تعتبر العلامة MIME مطالبة

يمكن لأي شخص أن يضع image/png في البادئة. لا تثبت التسمية أن البايتات تشكل PNG. قارن التوقيع، ثم اطلب من وحدة فك ترميز الصور الفعلية تحميل النتيجة. وبالمثل، فإن رأس PDF هو مجرد دليل التعرف؛ قد يستمر المحلل اللغوي PDF في رفض المستند.

تغيير image/png ل image/jpeg لا تحويل الصورة. التحويل يعني فك تشفير الصورة المصدر وترميز ملف جديد بتنسيق الوجهة. قد يؤدي هذا إلى تغيير الشفافية والبيانات الوصفية والجودة والحجم. احتفظ بالأصل عندما تكون هذه الاختلافات مهمة.

استرداد المورد دون تنفيذه

تحليل وفحص أولا. يمكن عرض النص كنص، بينما يمكن معاينة الصور النقطية المدعومة في عنصر صورة. تجنب إدراج علامات عشوائية HTML أو SVG في المستند. يمكن أن تمثل البيانات URL محتوى نشطًا بالإضافة إلى صورة، لذا فإن طبيعتها المستقلة لا تعد ضمانًا للسلامة.

لتنزيل ملف، احتفظ بالبايتات التي تم فك تشفيرها واستخدم امتدادًا معقولًا يعتمد على معلومات التنسيق المؤكدة. للحصول على تقرير تشخيصي، قم بعرض النوع المعلن والنوع المكتشف بشكل منفصل. وهذا يجعل حالات عدم التطابق مرئية بدلاً من إخفائها خلف أيقونة ملف مطمئنة. تم توضيح بناء جملة البيانات URL وافتراضياتها في MDN: عناوين URL للبيانات.