UltKit

تحويل JSON إلى Base64

حوّل ملف JSON إلى سطر واحد من نص Base64 يمر بسلام عبر متغيرات البيئة وحقول YAML ومتن طلبات API، حيث تسبب علامات الاقتباس والأقواس المعقوفة وفواصل الأسطر مشكلات. وعند فك ترميزه تحصل على البايتات نفسها تمامًا.

محوّل البيانات

أو أفلت ملفات CSV, TSV, TXT … هنا ·

الحد الأقصى 95 MB لكل ملف· حتى 20 ملفًا· تُحذف بعد 30 دقيقة

الإخراج

تُعالج الملفات على خوادمنا وتُحذف بعد 30 دقيقة.

طريقة استخدام هذه الأداة

  1. 1

    ارفع ملف JSON

    أضف ملف .json أو .jsonl أو .ndjson، مثل مفتاح حساب خدمة أو ملف إعدادات. يمكنك رفع حتى 20 ملفًا في الدفعة الواحدة، بحجم أقصاه 95 MB لكل ملف.

  2. 2

    حدد البادئة

    الإعداد الافتراضي هو Base64 العادي. فعّل بادئة Data URI ضمن الإعدادات المتقدمة فقط إذا كان النص سيوضع في سمة HTML أو CSS تتوقع رابط data:.

  3. 3

    رمّز النص وانسخه

    اضغط تحويل إلى Base64 نص، ثم نزّل النتيجة والصق السلسلة في مخزن الأسرار أو ملف manifest أو جسم الطلب.

ترميز JSON بصيغة Base64 لا يغيّر البيانات؛ بل يعيد تغليفها في حروف وأرقام عادية لتمر عبر أماكن قد تفسد الأقواس وعلامات الاقتباس وفواصل الأسطر.

لماذا ترمّز ملف JSON بصيغة Base64

الحالة الأشهر هي ملف بيانات الاعتماد. يعطيك مزوّد الخدمة السحابية مفتاح حساب خدمة كملف JSON، بينما يوفر نظام CI أو لوحة الاستضافة أو منصة الحاويات حقل نص من سطر واحد فقط للأسرار. لصق JSON الخام يفشل عند أول فاصل سطر أو أول علامة اقتباس غير مهرّبة. أما بعد ترميزه بـ Base64 فيصبح المفتاح نفسه سلسلة واحدة متصلة يفك التطبيق ترميزها عند بدء التشغيل.

يعود Base64 إلى البريد الإلكتروني: فقد استخدمه MIME، المعرَّف في RFC 2045 عام 1996، لتعبر المرفقات خوادم بريد لا تنقل سوى نص 7 بت. ثم صُدِّقت الأبجدية بذاتها لاحقًا في RFC 4648 عام 2006. والثمن هو الحجم، إذ تصبح كل 3 بايتات 4 أحرف. وللصور والملفات الثنائية الأخرى، يجري تحويل الصورة إلى Base64 الترميز نفسه مع data URI مناسب. وإذا كانت الأداة المستقبِلة تقرأ YAML لا حقل Base64، فقد يكفيك تحويل JSON إلى YAML.

مثال على تحويل JSON إلى Base64

JSON مضغوط {"env":"prod","retries":3} وترميزه بصيغة Base64
{"env":"prod","retries":3}

eyJlbnYiOiJwcm9kIiwicmV0cmllcyI6M30=

أين يُطلب JSON مرمّزًا بـ Base64

أماكن لا تقبل JSON إلا بصيغة Base64
الجهةالمتطلبالمصدر
Kubernetes Secretsيجب أن تكون كل قيمة تحت data بصيغة Base64؛ ولتركيب ملف مفتاح JSON رمّزه أولًا.kubernetes.io
GitHub REST APIتتوقع نقطة نهاية إنشاء محتوى الملف أو تحديثه أن يكون الملف، بما فيه ملف .json، بصيغة Base64 في content.docs.github.com
JSON Web Tokens (RFC 7519)تُرمَّز ترويسة JSON والمطالبات كل منهما بصيغة base64url وتُربط بنقاط.—
مرفقات البريد الإلكتروني (MIME)يُرسل مرفق .json بترميز نقل Base64 ليمر عبر خوادم البريد النصية فقط.—
Base64ترميز Base 64 · ترميز RFC 4648
طريقة لكتابة أي بايتات باستخدام 64 حرفًا آمنًا: A–Z وa–z و0–9 و+ و/، مع = للحشو. كل مجموعة من 3 بايتات مدخلة تصبح 4 أحرف في الناتج، فيزيد طول النص بنحو الثلث عن الملف. وهو قابل للعكس ولا يحمل مفتاحًا، ولذلك هو صيغة نقل لا وسيلة حماية.

حقائق عن صيغتي JSON و Base64

JSON

ترميز كائنات JavaScript (JSON)

JSON تنسيق نصي خفيف للبيانات المنظمة، شاعه Douglas Crockford في أوائل الألفية، واعتُمد في RFC 8259 وECMA-404. يمثّل الكائنات والمصفوفات والنصوص والأرقام والقيم المنطقية وnull بصياغة بسيطة مقروءة. وهو التنسيق الافتراضي لواجهات الويب البرمجية وملفات الإعداد وتبادل البيانات بين التطبيقات في معظم لغات البرمجة. لا يتضمن تعليقات ولا تواريخ ولا مخططات، ويصعب قراءة الملفات الكبيرة المتداخلة دون عارض.

الضغط
–
الشفافية
–
الحركة
–
سنة الظهور
2001 · Douglas Crockford
محول JSON

BASE64

نص مشفّر بـ Base64

Base64 ترميز معرَّف في RFC 4648 يحوّل أي بيانات ثنائية إلى سلسلة من 64 حرفًا نصيًا آمنًا. يُستخدم لتضمين الصور في HTML وCSS كـ data URI، ولإرفاق الملفات بالبريد الإلكتروني، ولإرسال البيانات الثنائية في JSON أو XML. الترميز قابل للعكس تمامًا لكنه يزيد حجم البيانات بنحو 33%. Base64 ليس تشفيرًا ولا يوفر أي أمان؛ يستطيع أي شخص فك ترميزه.

الضغط
دون فقدان
الشفافية
–
الحركة
–
سنة الظهور
–
محول BASE64

يُرمَّز JSON بصيغة Base64 عندما يجب أن تمر بيانات منظّمة داخل حقل نصي واحد لا يقبل علامات الاقتباس الخام ولا فواصل الأسطر: سر في CI، أو ملف manifest لـ Kubernetes، أو حقل content في واجهة API، أو قيمة ترويسة.

أسئلة شائعة عن تحويل JSON إلى Base64

هل JSON المرمّز بـ Base64 مشفّر؟

لا. Base64 ترميز وليس تشفيرًا، ويمكن لأي شخص فك ترميزه بأمر واحد. وثائق Kubernetes نفسها تحذّر من أن Secrets مرمّزة بـ Base64 فقط ومخزّنة دون تشفير افتراضيًا، لذا احمِ السلسلة المرمّزة كما تحمي المفتاح الأصلي تمامًا.

هل أحتاج إلى Base64 أم base64url لرمز مميز أو رابط؟

يستخدم Base64 القياسي، كما هو مكتوب هنا، الرمزين + و / ويضيف = للحشو. أما JWT ومعاملات الروابط فتستخدم أبجدية base64url من RFC 4648، التي تستبدل - و _ بهما وتحذف الحشو عادةً. استبدل هذه الرموز الثلاثة إذا كانت وجهتك تتوقع base64url.

هل يجب تصغير JSON قبل ترميزه؟

نعم في الغالب. المسافات والمحاذاة وفواصل الأسطر بايتات كغيرها، وكل 3 بايتات تصبح 4 أحرف في الناتج. ضغط ملف إعدادات منسّق مسبقًا، مثلًا باستخدام jq -c، يقصّر السلسلة المرمّزة بما يتناسب.

كيف أفك ترميز النص وأعيده إلى JSON؟

على macOS أو Linux شغّل base64 --decode، وفي PowerShell استخدم [Convert]::FromBase64String، وفي المتصفح مرّر ناتج atob عبر TextDecoder لتعود أحرف UTF-8 بشكل صحيح.

لماذا يُظهر kubectl خطأ بيانات base64 غير صالحة؟

يجب أن تكون القيمة تحت data في ملف Secret بصيغة Base64 صالحة في سطر واحد. يعني الخطأ عادةً أن فاصل سطر دخل أثناء اللصق، أو أن JSON عاديًا وُضع تحت data. القيم العادية مكانها stringData، وتتولى Kubernetes ترميزها لك.

هل يغيّر الترميز أي شيء داخل ملف JSON؟

لا. يحوّل Base64 البايتات إلى نص والعكس دون فقد، فتُستعاد المفاتيح والقيم والأحرف المشكّلة وحتى علامة ترتيب البايت في بداية الملف كما هي تمامًا عند فك الترميز.