Kiểm tra Base64
Dán một giá trị để biết nó có phải Base64 hợp lệ theo chuẩn đã chọn không. Mỗi lỗi được liệt kê kèm vị trí chính xác, để bạn thấy sai ở đâu thay vì chỉ nhận thông báo “không hợp lệ”.
Điều gì làm nên Base64 hợp lệ?
- Chỉ các ký tự trong bảng chữ cái của chuẩn đã chọn (ví dụ
A–Z a–z 0–9 + /). - Padding đúng: độ dài là bội số của 4 và kết thúc bằng tối đa hai dấu
=. Base64URL và IMAP thường bỏ padding. - Không có khoảng trắng hoặc ngắt dòng, ngoại trừ MIME (76 ký tự mỗi dòng) và PEM (64 ký tự mỗi dòng).
- Độ dài không bao giờ là 4n+1, vì một ký tự thừa không thể biểu diễn trọn một byte.
Kiểm tra Base64 bằng mã
// 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 Câu hỏi thường gặp
Làm sao kiểm tra một chuỗi có phải Base64 không?
Một chuỗi Base64 chuẩn hợp lệ chỉ chứa A–Z, a–z, 0–9, "+" và "/", có độ dài là bội số của 4 và kết thúc bằng không, một hoặc hai ký tự padding "=".
Biểu thức chính quy có thể kiểm tra Base64 không?
Có: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$ kiểm tra Base64 chuẩn không có ngắt dòng.
Bình luận (0)
Có câu hỏi, ý tưởng hoặc phát hiện lỗi trong “Kiểm tra Base64”? Hãy để lại bình luận, đánh giá công cụ hoặc trả lời người khác.
Chưa có bình luận nào. Hãy là người đầu tiên chia sẻ ý kiến!