کدگذاری/کدگشایی Base62 (باینری)

پردازش ۱۰۰٪ سمت کاربر (بدون آپلود سرور). فایل‌ها/بایت‌های باینری را به متن Base62 با الفباهای قابل انتخاب، شکستن خط اختیاری و پردازش خط به خط کدگذاری کنید، به همراه اعتبارسنجی دقیق و پشتیبانی از data: URI هنگام رمزگشایی به بایت.

Loading…

درباره کدگذاری/رمزگشایی Base62 (باینری)

از این ابزار برای کدگذاری فایل‌های باینری (بایت) به متن Base62 برای انتقال در سیستم‌هایی که بارهای الفبایی-عددی را ترجیح می‌دهند، استفاده کنید. در حالی که این صفحه برای هدف کدگذاری بهینه شده است، شامل عملیات رمزگشایی برای تبدیل Base62 به یک فایل باینری قابل دانلود نیز می‌شود. همه چیز به صورت محلی در مرورگر شما اجرا می‌شود (بدون آپلود)، و شما می‌توانید الفبای Base62، شکستن خط اختیاری، جداکننده‌ها و شدت اعتبارسنجی را برای مطابقت با تولیدکننده/مصرف‌کننده خود کنترل کنید.

ویژگی‌ها

  • آپلود/کشیدن و رها کردن فایل‌های باینری (.bin, .dat, آرشیوها) با پشتیبانی دسته‌ای چند فایلی
  • دو عمل: کدگذاری (باینری → متن Base62) و رمزگشایی (متن Base62 → فایل قابل دانلود)
  • انتخاب الفبا: 0-9A-Za-z (معمول)، 0-9a-zA-Z، A-Za-z0-9، a-zA-Z0-9
  • شکستن خط اختیاری (حالت کدگذاری): شکستن در عرض ستون انتخاب شده یا غیرفعال کردن (0)
  • انتخاب جداکننده خط: LF ( ) یا CRLF ( ) برای خروجی شکسته شده
  • پردازش خط به خط برای بارهای چند رکوردی (مفید وقتی هر خط یک قطعه Base62 جداگانه است)
  • رمزگشایی می‌تواند پیشوند data:*;base62, را بپذیرد (قابل تغییر)
  • تغییر وضعیت اعتبارسنجی دقیق برای رد کاراکترهای نامعتبر برای الفبای انتخاب شده
  • حالت پیش‌نمایش زنده برای ورودی‌های کوچک (برای بارهای بزرگ غیرفعال کنید)
  • پردازش ۱۰۰٪ سمت کاربر (بدون آپلود سرور).

نحوه استفاده for base62-binary-encoder

1

رها کردن یک فایل (یا چسباندن متن Base62)

برای کدگذاری، یک یا چند فایل باینری را در منطقه رها کردن بکشید و رها کنید. برای رمزگشایی، متن Base62 دریافتی را بچسبانید (در صورت فعال بودن، اختیاری با پیشوند data:*;base62,).

2

عمل/حالت را انتخاب کرده و اجرا کنید

"عمل" (کدگذاری یا رمزگشایی) را انتخاب کنید، سپس دکمه مربوطه را کلیک کنید. برای کدگذاری، "الفبا" مورد نیاز خود را انتخاب کنید و اختیاری "شکستن خط در" و جداکننده خط را تنظیم کنید. برای رمزگشایی، "اعتبارسنجی دقیق" را برای شناسایی زودهنگام کاراکترهای نامعتبر فعال کنید، و "پذیرش پیشوند data:*;base62," را اگر ورودی شما شامل آن است، تغییر دهید.

3

کپی خروجی یا دانلود فایل رمزگشایی شده

پس از کدگذاری، متن خروجی Base62 (شکسته شده و جدا شده طبق پیکربندی) را کپی کنید. پس از رمزگشایی، فایل باینری بازسازی شده را دانلود کنید (قوانین نام فایل معمولاً .b62 را حذف می‌کنند و در صورت نیاز به .bin بازمی‌گردند).

مشخصات فنی

مدل اجرا

افشای زمان اجرا، محدودیت‌ها و مدیریت داده.

جنبهجزئیات
حالتپردازش ۱۰۰٪ سمت کاربر (بدون آپلود سرور).
محدوده عملکدگذاری باینری → متن Base62 (اصلی)، به علاوه رمزگشایی Base62 → دانلود باینری
ورودی‌هارمزگذاری: فایل/Blob/Uint8Array/ArrayBuffer/TypedArray. رمزگشایی: رشته Base62 (با پیشوند اختیاری data:*;base62)
خروجی‌هارمزگذاری: متن Base62. رمزگشایی: بایت‌ها به عنوان یک فایل قابل دانلود
محدودیت‌هاحدود ۱ تا ۲ مگابایت کاراکتر؛ زمان‌سنج حدود ۲۵۰۰۰ میلی‌ثانیه
نگهداریهمه پردازش‌ها به صورت محلی در مرورگر شما انجام می‌شود (بدون آپلود)
برای داده‌های حساس (رازها، فایل‌های خصوصی)، ترجیحاً از ابزارهای آفلاین/محلی استفاده کنید و از اشتراک‌گذاری محموله‌ها از طریق کلیپ‌بورد یا تصاویر صفحه خودداری کنید.

مثال کوچک

یک دنباله بایت کوچک که با الفبای رایج «0-9A-Za-z» رمزگذاری شده است. خروجی بسته به تنظیمات الفبا و بسته‌بندی متفاوت است.

موردمقدار
بایت‌های ورودی (هگز)00 01 02 03 04 05 06 07 08 09
خروجی (Base62)(بستگی به پیاده‌سازی/الفبا دارد)
چه چیزی خروجی را تغییر می‌دهدترتیب الفبا، بسته‌بندی اختیاری، جداکننده خط، و اینکه آیا به صورت یک بلاب واحد یا به صورت قطعات خط به خط رمزگذاری می‌کنید
Base62 یک استاندارد جهانی واحد مانند RFC 4648 Base64 نیست. همیشه الفبا را بین رمزگذار و رمزگشا یکسان نگه دارید.

خطاها و موارد خاص

حالت‌های شکست رایج و نحوه رفع آن‌ها.

نشانهعلت احتمالیچه چیزی را بررسی کنید
ورودی برای رمزگشایی باید یک رشته باشدشما سعی کردید رمزگشایی کنید اما به جای متن Base62، بایت/فایل ارائه دادیدعمل را روی رمزگشایی تنظیم کنید و متن Base62 را جایگذاری کنید؛ برای فایل‌های آپلود شده از رمزگذاری استفاده کنید
این ابزار داده باینری را رمزگذاری می‌کند... نه یک رشته متنیشما سعی کردید با جایگذاری متن در رمزگذار باینری، رمزگذاری کنیدیک فایل آپلود کنید (یا بایت‌ها را ارسال کنید). اگر نیاز به تبدیل متن→بایت دارید، ابتدا از یک ابزار مبتنی بر متن استفاده کنید
خطای اعتبارسنجی دقیق / کاراکترهای نامعتبرورودی حاوی کاراکترهایی است که در الفبای Base62 انتخاب شده وجود ندارند (یا شامل جداکننده‌ها/پیشوندها است)الفبای صحیح را انتخاب کنید، حالت دقیق را غیرفعال کنید تا ورودی‌های آسان‌گیر را آزمایش کنید، و فاصله‌های اضافی را حذف کنید؛ اگر ورودی دارای پیشوند data:*;base62 است، گزینه پذیرش URI داده را فعال کنید
فایل رمزگشایی شده خراب به نظر می‌رسدعدم تطابق الفبا یا تولیدکننده از یک نوع متفاوت Base62 استفاده کرده استترتیب الفبا را با تولیدکننده تأیید کنید (0-9A-Za-z در مقابل 0-9a-zA-Z و غیره) و آن را در هر دو طرف یکسان نگه دارید
خطوط جدید یا مرزهای قطعه غیرمنتظرهورودی/خروجی بسته‌بندی شده است یا شما از پردازش خط به خط به اشتباه استفاده کرده‌ایدبرای یک محموله واحد، تنظیم بسته‌بندی خطوط را روی 0 قرار دهید و خط به خط را خاموش نگه دارید؛ برای جریان‌های چند رکوردی، خط به خط را فعال کنید و اطمینان حاصل کنید که هر خط یک قطعه Base62 دارد
ورودی بیش از حد بزرگ (حداکثر ۲ مگابایت) / زمان‌بندی به پایان رسیدبار مفید از محدوده‌های ایمن فراتر رفته یا دستگاه کند استبار مفید را تقسیم کنید، پیش‌نمایش زنده را غیرفعال کنید یا برای فایل‌های بزرگ به یک اسکریپت/ابزار محلی سوئیچ کنید

گزینه‌ها و قوانین خروجی

چگونگی تأثیر گزینه‌های رابط کاربری بر رفتار کدگذاری/کدگشایی.

گزینهاعمال براثر
عملیاتکدگذاری / کدگشاییکدگذاری بایت‌ها را به متن Base62 تبدیل می‌کند؛ کدگشایی متن Base62 را به یک فایل باینری قابل دانلود تبدیل می‌کند.
الفباکدگذاری / کدگشاییترتیب مجموعه ۶۲ کاراکتری را تعریف می‌کند. برای کدگشایی صحیح باید بین سیستم‌ها مطابقت داشته باشد.
شکستن خطوط درفقط کدگذاریاگر > ۰ باشد، در عرض انتخاب شده شکست خط وارد می‌کند؛ ۰ شکستن خط را غیرفعال می‌کند.
جداکننده خطکدگذاری / کدگشایی (قالب‌بندی)کنترل می‌کند که هنگام شکستن خط یا تولید خروجی مبتنی بر خط، از کدام دنباله خط جدید استفاده شود: LF یا CRLF.
پیش‌نمایش زندههر دوبه طور خودکار با تغییرات اجرا می‌شود (بهترین برای ورودی‌های کوچک). برای بارهای مفید بزرگ غیرفعال کنید تا از پایان زمان جلوگیری شود.
پردازش خط به خطهر دوهر خط را به عنوان یک رکورد جداگانه در نظر می‌گیرد. برای لیست‌ها/جریان‌های قطعات Base62 مفید است.
پذیرش پیشوند data:*;base62,فقط کدگشاییورودی‌هایی را که با یک پیشوند شبیه به URI داده شروع می‌شوند، مجاز می‌کند تا ابزار بتواند قبل از کدگشایی آن را حذف کند.
اعتبارسنجی سخت‌گیرانهفقط کدگشاییکاراکترهای خارج از الفبای انتخاب شده را رد می‌کند و ورودی‌های نادرست را زود تشخیص می‌دهد.
اگر کنترل تولیدکننده را ندارید، ابتدا الفبای مورد استفاده آن را شناسایی کنید، سپس آن انتخاب را در همه جا (مستندات، CI و کد) قفل کنید.

جایگزین‌های خط فرمان

در اکثر سیستم‌عامل‌ها، یک CLI جهانی برای Base62 وجود ندارد. برای نتایج قابل تکرار در CI یا برای فایل‌های بزرگ، از یک کتابخانه نگهداری‌شده استفاده کنید و نگاشت الفبای مورد استفاده توسط سیستم خود را به صراحت مستند کنید.

همه پلتفرم‌ها (پایتون)

کدگذاری/کدگشایی Base62 با استفاده از یک کتابخانه نگهداری‌شده (نسخه ثابت + الفبا)

python -c "import sys; print('Base62 در کتابخانه استاندارد پایتون موجود نیست. از یک کتابخانه Base62 نگهداری‌شده استفاده کنید، نسخه آن را ثابت نگه دارید و الفبا را به صراحت پیکربندی کنید (مثلاً ۰-۹A-Za-z در مقابل ۰-۹a-zA-Z).')"

کتابخانه استاندارد پایتون شامل Base62 نمی‌شود. برای صحت و قابلیت تکرار، از یک کتابخانه معتبر استفاده کنید، نسخه وابستگی را ثابت نگه دارید و الفبا را در بین سرویس‌ها یکسان حفظ کنید.

Node.js

رمزگذاری/رمزگشایی Base62 با استفاده از یک کتابخانه نگهداری‌شده (الفبای مستند)

node -e "console.error('Base62 در هسته Node ساخته‌نشده است. از یک کتابخانه معتبر Base62 استفاده کنید، نسخه آن را ثابت نگه دارید و الفبا (0-9A-Za-z، 0-9a-zA-Z و غیره) را مستند/پیکربندی کنید تا از ناهماهنگی جلوگیری شود.')"

Node یک رمزگذار/رمزگشای Base62 در هسته خود ارائه نمی‌دهد. یک کتابخانه معتبر را ترجیح دهید و انتخاب الفبا را یادداشت کنید تا رمزگذاری/رمزگشایی در طول زمان سازگار بماند.

موارد استفاده

تعبیه آثار باینری در کانال‌های متنی

  • ضمیمه کردن باینری‌های کوچک درون JSON، YAML یا سیستم‌های مبتنی بر محیط که محموله‌های الفبایی-عددی را ترجیح می‌دهند
  • اشتراک‌گذاری فیکسچرهای آزمایشی به عنوان متن Base62 وقتی بایت‌های خام مناسب نیستند
  • ذخیره شناسه‌ها یا محموله‌های نسبتاً فشرده بدون الفباهای سنگین از علائم نگارشی

آزمایش قابلیت همکاری بین الفباها

  • مقایسه خروجی‌ها در ترتیب‌های مختلف الفبا برای درک محدودیت‌های سازگاری
  • آموزش تفاوت بین Base64 (استاندارد) و Base62 (مبتنی بر گونه‌های مختلف)
  • نشان دادن دلیل اهمیت اعتبارسنجی دقیق و الفباهای صریح

بررسی‌های سلامت CI برای آثار کوچک

  • اعتبارسنجی اینکه Base62 تولیدشده با موفقیت به بایت‌ها رمزگشایی می‌شود (بررسی‌های رفت و برگشت)
  • اجبار به انتخاب یک الفبای واحد در مخازن مختلف برای قابل تکرار ماندن ساخت‌ها
  • یکسان‌سازی بسته‌بندی/جداکننده‌ها تا تفاوت‌ها پایدار بمانند

کاهش ابهام و خطرات رمزگشایی

  • فعال‌سازی اعتبارسنجی دقیق برای رد زودهنگام کاراکترهای غیرمنتظره
  • اجتناب از کپی کردن اسرار در ابزارهای مرورگر؛ استفاده از اسکریپت‌های محلی برای داده‌های حساس
  • مستندسازی و قفل کردن انتخاب‌های الفبا برای جلوگیری از خرابی تصادفی بین سیستم‌ها

❓ Frequently Asked Questions

آیا یک API عمومی برای این ابزار وجود دارد؟

خیر. این یک ابزار درون مرورگر است و یک نقطه پایانی API عمومی ارائه نمی‌دهد.

پردازش محلی است یا از راه دور؟

100٪ پردازش سمت کلاینت (بدون آپلود سرور). تمام رمزگذاری/رمزگشایی به صورت محلی در مرورگر شما اتفاق می‌افتد.

آیا می‌توانم با خیال راحت اسرار یا فایل‌های حساس را اینجا رمزگذاری کنم؟

از آن اجتناب کنید. حتی با پردازش محلی، اسرار می‌توانند از طریق تاریخچه کلیپ‌بورد، تصاویر صفحه، افزونه‌ها یا ماشین‌های اشتراکی نشت کنند. برای مواد حساس، ابزارهای محلی/آفلاین را ترجیح دهید.

چرا رمزگشایی با خطای اعتبارسنجی/تجزیه ناموفق می‌شود؟

بیشتر شکست‌ها ناشی از عدم تطابق الفبا، پیشوندهای غیرمنتظره (مانند data:*;base62,)، فاصله‌های سفید/خطوط جدید یا کاراکترهای غیر Base62 است. "الفبا" صحیح را انتخاب کنید، در صورت لزوم "پذیرش پیشوند data:*;base62," را فعال کنید و از "اعتبارسنجی دقیق" برای شناسایی کاراکترهای نامعتبر استفاده کنید.

چرا فایل رمزگشایی‌شده من حتی با موفقیت رمزگشایی، خراب است؟

گونه‌های Base62 بر اساس ترتیب الفبا متفاوت هستند. اگر تولیدکننده از الفبای متفاوتی استفاده کرده باشد (مثلاً 0-9a-zA-Z به جای 0-9A-Za-z)، رمزگشایی ممکن است بایت‌هایی تولید کند اما محتوای اصلی را نه. الفبای تولیدکننده را تأیید کنید و آن را در هر رمزگذار/رمزگشای یکسان نگه دارید.

Pro Tips

Best Practice

Base62 را به‌عنوان یک متغیر وابسته در نظر بگیرید: همیشه الفبا (0-9A-Za-z در مقابل 0-9a-zA-Z و غیره) را در کنار داده‌ها ثبت کنید.

Best Practice

برای خروجی‌های پایدار، قابلیت بسته‌بندی را غیرفعال نگه دارید (wrapLineLength=0) مگر اینکه لایه انتقالی داشته باشید که به خطوط با عرض ثابت نیاز دارد.

Best Practice

هنگام اشکال‌زدایی، اعتبارسنجی سخت‌گیرانه را فعال کنید: این کار فاصله‌های اضافی، کاراکترهای نادرست و عدم تطابق الفبا را زود تشخیص می‌دهد.

CI Tip

در CI، یک آزمون رفت و برگشتی (رمزگذاری → رمزگشایی) روی نمونه‌های نماینده اضافه کنید و نسخه کتابخانه Base62 خود را ثابت نگه دارید.

Additional Resources

Other Tools