اعتبارسنج Base64
یک مقدار را جایگذاری کنید تا بفهمید طبق استاندارد انتخابشده Base64 معتبر است یا نه. هر مشکل با موقعیت دقیقش فهرست میشود، پس بهجای یک «نامعتبر» ساده میبینید دقیقاً چه چیزی اشتباه است.
چه چیزی Base64 را معتبر میکند؟
- فقط نویسههایی از الفبای استاندارد انتخابشده (مثلاً
A–Z a–z 0–9 + /). - padding صحیح: طول، مضربی از 4 است و حداکثر با دو
=تمام میشود. Base64URL و IMAP معمولاً padding را حذف میکنند. - بدون فاصله یا شکست خط، بهجز در MIME (76 نویسه در هر خط) و PEM (64 نویسه در هر خط).
- طول هرگز 4n+1 نیست، چون یک نویسه باقیمانده نمیتواند یک بایت کامل را نمایش دهد.
اعتبارسنجی Base64 در کد
// JavaScript
const isBase64 = (s) => /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(s);
# Python
import base64, binascii
def is_base64(s: str) -> bool:
try:
base64.b64decode(s, validate=True)
return True
except binascii.Error:
return False سؤالات متداول
چطور بررسی کنم که یک رشته Base64 است؟
یک رشته Base64 استاندارد معتبر فقط شامل A–Z، a–z، 0–9، "+" و "/" است، طول آن مضربی از 4 است و با صفر، یک یا دو نویسه padding "=" تمام میشود.
آیا یک عبارت باقاعده (regex) میتواند Base64 را اعتبارسنجی کند؟
بله: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$ Base64 استاندارد بدون شکست خط را اعتبارسنجی میکند.
دیدگاهها (0)
سؤال، ایده یا باگی در «اعتبارسنج Base64» دارید؟ دیدگاه بگذارید، به ابزار امتیاز دهید یا به دیگران پاسخ دهید.
هنوز دیدگاهی ثبت نشده است. اولین نفری باشید که نظر خود را به اشتراک میگذارد!