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.

Công cụ và hướng dẫn liên quan

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!

Để lại bình luận

Đánh giá công cụ này:
Esc
↑ ↓ di chuyển↵ mởEsc đóng