ToolHub
View All Posts

كيفية تحويل Base64 إلى صورة: دليل كامل

ترميز Base64 هو طريقة لتحويل البيانات الثنائية (مثل الصور) إلى نص ASCII يمكن تضمينه مباشرة في HTML أو CSS أو JSON. يضيف هذا الدليل كل ما تحتاج لمعرفته حول تحويل Base64 إلى صور، من استخدام الأدوات عبر الإنترنت إلى الحلول البرمجية.

ما هو ترميز Base64 للصور؟

Base64 هو نظام ترميز ثنائي إلى نص يحول البيانات الثنائية إلى أحرف ASCII. بالنسبة للصور، هذا يعني تحويل بيانات البكسل إلى سلسلة من الأحرف التي يمكن نقلها بأمان عبر الأنظمة القائمة على النص مثل البريد الإلكتروني أو JSON أو تضمينها مباشرة في HTML و CSS.

تبدو سلسلة Base64 للصورة كهذا: data:image/png;base64,iVBORw0KGgoAAAANSUhEUg... الجزء قبل الفاصلة يحدد نوع MIME (image/png, image/jpeg, إلخ)، والجزء بعد الفاصلة هو بيانات الصورة الفعلية المشفرة بـ Base64.

كيفية تحويل Base64 إلى صورة

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

استخدام الأدوات عبر الإنترنت

لماذا يُستخدم Base64 للصور

لمستخدمي سطر الأوامر، يمكن للأداة base64 المضمنة (المتوفرة على Linux و macOS و Windows عبر PowerShell) فك ترميز Base64 إلى ملفات ثنائية. في Linux/macOS: base64 -d image.txt > output.png. في PowerShell: [Convert]::FromBase64String((Get-Content image.txt)) | Set-Content output.png -Encoding Byte.

مع href مضبوط على سلسلة Base64 وسمة download، ثم شغل النقر برمجيًا لتشغيل التنزيل.

الطريقة 1: الأدوات عبر الإنترنت

إلى سلسلة data URI.

الطريقة 2: سطر الأوامر

في Python، استخدم وحدة base64 المضمنة لفك ترميز بيانات الصورة:

استخدام سطر الأوامر

الطريقة 3: JavaScript (المتصفح)

في Node.js، استخدم Buffer لتحويل Base64 إلى بيانات ثنائية وكتابتها إلى ملف:

حجم ملف Base64 أكبر بحوالي 33% من الصورة الثنائية الأصلية. هذا لأن Base64 يستخدم 4 أحرف لتمثيل كل 3 بايتات من البيانات الثنائية. هذا النفخ في الحجم هو أحد الأسباب الرئيسية التي تجعل Base64 غير مناسب للصور الكبيرة.

الطريقة 4: Python

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

التحويل البرمجي

تتضمن الأخطاء الشائعة: نسيان إزالة بادئة data URI قبل فك الترميز (يجب أن تبدأ بيانات Base64 بعد الفاصلة)، استخدام أداة فك ترميز خاطئة (مشفرات Base64 للصور تختلف عن مشفرات Base64 العادية عند التعامل مع data URIs)، بيانات Base64 تالفة أو غير مكتملة تنتج صورًا تالفة، أو نوع MIME غير متطابق ينتج صورة لا يمكن فتحها.

تجنب استخدام Base64 للصور الأكبر من 5KB تقريبًا. حمل Base64 أكبر من الصورة الثنائية، ولا يمكن تخزينه مؤقتًا بشكل منفصل عن HTML/CSS، ويمنع العرض حتى يتم تحليل HTML/CSS بالكامل. استخدم Base64 للصور الصغيرة مثل الأيقونات والشعارات حيث يلغي التضمين طلب HTTP ولا يضيف حملًا كبيرًا.

فهم صيغة Base64 للصور

جرب محول Base64 إلى صورة المجاني عبر الإنترنت. الصق سلسلة Base64 واحصل على ملف الصورة فورًا.

الطريقة 5: Node.js

الفوائد

الأخطاء الشائعة

متى تستخدم (وتتجنب) صور Base64

السلبيات

استخدم أداة عبر الإنترنت، أو أمر base64 -d في Linux/macOS، أو دالة atob في JavaScript، أو وحدة base64 في Python، أو Buffer في Node.js. أسرع طريقة هي استخدام أداة تحويل Base64 إلى صورة عبر الإنترنت.

متى تستخدم

لا، صور Base64 أكبر بحوالي 33% من الصور الثنائية ولا يمكن تخزينها مؤقتًا بشكل منفصل بواسطة المتصفح. ومع ذلك، بالنسبة للصور الصغيرة جدًا (أقل من 1KB)، يلغي التضمين طلب HTTP، مما قد يكون أسرع من تحميل ملف منفصل.

متى تتجنب

نعم، يمكن تحويل أي صورة إلى Base64. تقوم العملية بتشفير البيانات الثنائية للصورة إلى نص ASCII. هذا يعمل مع جميع تنسيقات الصور بما في ذلك PNG و JPEG و GIF و WebP و SVG. ومع ذلك، يجب أن تكون الصور الأكبر من 5KB ملفات منفصلة.

ما هو Base64؟

استخدم base64.b64decode() لفك ترميز سلسلة Base64 إلى بايتات، ثم اكتبها إلى ملف: import base64; data = base64.b64decode(base64_string); with open('output.png', 'wb') as f: f.write(data).