تبدیل JSON به Base64
فایل JSON را به یک خط متن Base64 تبدیل کنید که در متغیرهای محیطی، فیلدهای YAML و بدنهٔ درخواستهای API، جایی که گیومه، آکولاد و شکست خط دردسرساز میشوند، سالم میماند. با رمزگشایی آن دقیقاً همان بایتها بازگردانده میشوند.
مبدل داده
یا فایلهای CSV, TSV, TXT … را اینجا رها کنید ·
حداکثر 95 MB برای هر فایل· تا 20 فایل· حذف پس از 30 دقیقه
فایلها روی سرورهای ما پردازش میشوند و پس از 30 دقیقه حذف میشوند.
نویسهای که ستونها را در فایلهای CSV و متنی جدا میکند، هم برای خواندن و هم برای نوشتن. حالت خودکار آن را از ورودی تشخیص میدهد و با ویرگول مینویسد.
UTF-8 برای همه زبانها کار میکند. اگر Excel در ویندوز هنگام باز کردن CSV نویسههای اروپایی یا آسیایی را خراب نشان میدهد، UTF-8 با BOM را انتخاب کنید.
ورودی Excel، ODS و Numbers: فقط برگه اول تبدیل شود یا همه برگهها (برای هر برگه یک CSV داخل ZIP، یا برای هر برگه یک کلید JSON).
نام زبانه برگه در صفحهگسترده جدید، حداکثر 31 نویسه.
آرایهای از شیءها برای هر ردیف از نام ستونها بهعنوان کلید استفاده میکند؛ آرایهای از آرایهها فشردهتر است و سرستون را بهعنوان آرایه اول نگه میدارد.
نام عنصر بیرونی که همه ردیفها را در بر میگیرد؛ هر ردیف داخل آن به یک <row> تبدیل میشود.
در دستورهای CREATE TABLE و INSERT استفاده میشود. فقط حروف انگلیسی، ارقام و زیرخط.
نقلقولگذاری و نوع ستونها بین پایگاههای داده کمی فرق دارد؛ همان را که میخواهید در آن وارد کنید انتخاب کنید.
سلولهای تاریخ را در یک قالب بازنویسی میکند. ISO (2026-10-18) برای پایگاه داده و کد امنترین است؛ «بدون تغییر» آنها را همانطور که در منبع هستند نگه میدارد.
نحوه استفاده از این ابزار
- 1
فایل JSON را بارگذاری کنید
یک فایل .json، .jsonl یا .ndjson اضافه کنید، مثلاً کلید service account یا یک فایل پیکربندی. در هر دسته حداکثر 20 فایل و هر کدام تا 95 MB مجاز است.
- 2
دربارهٔ پیشوند تصمیم بگیرید
Base64 ساده انتخاب شده است. فقط اگر متن را در یک ویژگی HTML یا CSS قرار میدهید که آدرس data: میخواهد، گزینهٔ پیشوند Data URI را در تنظیمات پیشرفته روشن کنید.
- 3
انکود و کپی کنید
روی تبدیل به Base64 text بزنید، نتیجه را دانلود کنید و رشته را در محل نگهداری رمزها، فایل manifest یا بدنهٔ درخواست جایگذاری کنید.
کدگذاری JSON به Base64 داده را تغییر نمیدهد؛ فقط آن را به حروف و رقم ساده تبدیل میکند تا از مسیرهایی که آکولاد، گیومه و خط جدید را خراب میکنند عبور کند.
چرا فایل JSON را به Base64 انکود کنیم
رایجترین مورد فایل اعتبارنامه است. ارائهدهندهٔ ابری کلید service account را بهصورت فایل JSON میدهد و سامانهٔ CI، داشبورد میزبانی یا پلتفرم کانتینر شما برای رمزها فقط یک فیلد تکخطی دارد. جایگذاری JSON خام با اولین خط جدید یا اولین گیومهٔ بدون escape خراب میشود. با کدگذاری Base64، همان کلید یک رشتهٔ پیوسته میشود که برنامه هنگام راهاندازی آن را رمزگشایی میکند.
ریشهٔ خود Base64 به ایمیل برمیگردد: MIME که در سال 1996 در RFC 2045 تعریف شد از آن استفاده کرد تا پیوستها از سرورهای ایمیلی که فقط متن 7 بیتی حمل میکردند عبور کنند. الفبای آن بعدها در سال 2006 جداگانه در RFC 4648 استاندارد شد. هزینهاش حجم است، چون هر 3 بایت به 4 نویسه تبدیل میشود. برای عکس و سایر فایلهای باینری، تبدیل عکس به Base64 همین کدگذاری را با data URI متناسب انجام میدهد. اگر ابزار مقصد بهجای فیلد Base64، YAML میخواند، شاید تبدیل JSON به YAML کافی باشد.
نمونهٔ تبدیل JSON به Base64
{"env":"prod","retries":3}
eyJlbnYiOiJwcm9kIiwicmV0cmllcyI6M30=کجا JSON انکودشده با Base64 لازم است
| سازمان | الزام | منبع |
|---|---|---|
| Kubernetes Secrets | هر مقدار زیر data باید Base64 باشد؛ برای استفاده از فایل کلید JSON ابتدا آن را کدگذاری کنید. | kubernetes.io |
| GitHub REST API | نقطهپایانی ایجاد یا بهروزرسانی محتوای فایل انتظار دارد فایل، از جمله فایل .json، بهصورت Base64 در content ارسال شود. | docs.github.com |
| JSON Web Tokens (RFC 7519) | header و claims در JSON هرکدام با base64url کدگذاری و با نقطه به هم متصل میشوند. | — |
| پیوست ایمیل (MIME) | پیوست .json با کدگذاری انتقال Base64 ارسال میشود تا از سرورهای ایمیل فقطمتنی عبور کند. | — |
- Base64کدگذاری Base 64 · کدگذاری RFC 4648
- روشی برای نوشتن هر بایتی با 64 نویسهٔ امن: A–Z، a–z، 0–9، + و /، با = بهعنوان padding. هر 3 بایت ورودی به 4 نویسه تبدیل میشود، پس متن حدود یکسوم از فایل بلندتر است. این روش برگشتپذیر است و کلیدی ندارد؛ بنابراین قالب انتقال است، نه اقدام امنیتی.
مشخصات فرمتهای JSON و Base64
JSON
نشانهگذاری شیء جاوااسکریپت (JSON)
JSON یک فرمت متنی سبک برای دادههای ساختاریافته است که Douglas Crockford در اوایل دهه 2000 آن را رایج کرد و با عنوان RFC 8259 و ECMA-404 استاندارد شد. اشیا، آرایهها، رشتهها، اعداد، مقادیر بولی و null را با نحوی ساده و خوانا نمایش میدهد. این فرمت پیشفرض APIهای وب، فایلهای پیکربندی و تبادل داده بین برنامهها در تقریباً همه زبانهای برنامهنویسی است. توضیحات، تاریخ یا طرحواره ندارد و فایلهای بزرگ تودرتو بدون نمایشگر سخت خوانده میشوند.
- فشردهسازی
- –
- شفافیت
- –
- انیمیشن
- –
- سال معرفی
- 2001 · Douglas Crockford
BASE64
متن کدگذاریشده Base64
Base64 یک کدگذاری است که در RFC 4648 تعریف شده و هر داده دودویی را به رشتهای از 64 نویسه متنی امن تبدیل میکند. برای جاسازی تصویر در HTML و CSS بهصورت data URI، پیوست کردن فایل به ایمیل و ارسال داده دودویی در JSON یا XML استفاده میشود. کدگذاری کاملاً برگشتپذیر است اما حجم داده را حدود 33% بیشتر میکند. Base64 رمزگذاری نیست و امنیتی ندارد؛ هر کسی میتواند آن را رمزگشایی کند.
- فشردهسازی
- بدون اتلاف
- شفافیت
- –
- انیمیشن
- –
- سال معرفی
- –
JSON وقتی به Base64 کدگذاری میشود که یک دادهٔ ساختاریافته باید داخل یک فیلد رشتهای قرار بگیرد که گیومه و خط جدید خام را نمیپذیرد: رمز CI، manifest در Kubernetes، فیلد content یک API یا مقدار یک header.
پرسشهای تبدیل JSON به Base64
آیا JSON انکودشده با Base64 رمزنگاری شده است؟
خیر. Base64 فقط یک کدگذاری است و هر کسی با یک دستور میتواند آن را رمزگشایی کند. خود مستندات Kubernetes هشدار میدهد که Secretها بهطور پیشفرض فقط با Base64 کدگذاری و بدون رمزنگاری ذخیره میشوند؛ بنابراین از رشتهٔ کدگذاریشده دقیقاً مثل کلید اصلی محافظت کنید.
برای توکن یا URL به Base64 نیاز دارم یا base64url؟
Base64 استاندارد، مثل خروجی همینجا، از + و / استفاده میکند و با = پر میشود. JWTها و پارامترهای URL از الفبای base64url در RFC 4648 استفاده میکنند که بهجای آنها - و _ میگذارد و معمولاً padding را حذف میکند. اگر مقصد base64url میخواهد، این سه نویسه را جایگزین کنید.
آیا باید JSON را پیش از انکود کردن فشرده (minify) کنم؟
معمولاً بله. فاصله، تورفتگی و خط جدید هم مثل بقیه بایت هستند و هر 3 بایت به 4 نویسه در خروجی تبدیل میشود. اگر پیش از کدگذاری، پیکربندی خوانا را فشرده کنید، مثلاً با jq -c، رشتهٔ خروجی به همان نسبت کوتاهتر میشود.
چگونه رشته را دوباره به JSON رمزگشایی کنم؟
در macOS یا Linux دستور base64 --decode را اجرا کنید، در PowerShell از [Convert]::FromBase64String استفاده کنید و در مرورگر خروجی atob را به TextDecoder بدهید تا نویسههای UTF-8 درست بازگردند.
چرا kubectl خطای illegal base64 data میدهد؟
مقدار زیر data در manifest یک Secret باید Base64 معتبر و در یک خط باشد. این خطا معمولاً یعنی هنگام جایگذاری یک خط جدید وارد شده یا JSON ساده زیر data گذاشته شده است. مقادیر ساده باید زیر stringData بروند و Kubernetes خودش آنها را کدگذاری میکند.
آیا انکود کردن چیزی را در JSON من تغییر میدهد؟
خیر. Base64 بایتها را بدون اتلاف به متن و برعکس تبدیل میکند؛ بنابراین کلیدها، مقادیر، نویسههای دارای اعراب و حتی byte order mark ابتدای فایل هنگام رمزگشایی دقیقاً بازیابی میشوند.
- تبدیل عکس به Base64تبدیل عکس PNG، JPG، GIF، WebP یا SVG به متن Base64 با پیشوند آمادهٔ data:image برای src در HTML، url() در CSS یا JSON. تا 20 عکس همزمان.
- تبدیل JSON به TXTتبدیل JSON به فایل متنی ساده: هر رکورد در یک خط و فیلدها جداشده با تب یا هر جداکننده دلخواه. در Notepad، اکسل و ابزارهای خط فرمان باز میشود.
- تبدیل JSON به YAMLتبدیل آنلاین JSON به YAML برای فایلهای Kubernetes، GitHub Actions، Compose و Ansible. خروجی تورفته و ایمن در نقلقول، 20 فایل در هر نوبت، بدون حساب.
- تبدیل JSON به XMLتبدیل آنلاین JSON به XML: کلیدها عنصر میشوند، آرایهها عنصرهای تکراری، همه درون تگ ریشهای با نام دلخواه شما. خروجی مرتب، بدون ثبتنام.
- تبدیل JSON به CSVتبدیل JSON یا JSON Lines به CSV: هر شیء یک سطر، فیلدهای تودرتو در ستونها، UTF-8 با BOM برای نمایش درست حروف در Excel. ۲۰ فایل با هم.