Codec
Base64 Std :
Base64 URL :
Base32 Std:
Base32 HEX:
Base58 :
URL Query :


1. Base64 Std (Standard Base64)

Use case: General-purpose binary encoding (email, JSON, file transfer)

Character set: A–Z a–z 0–9 + /

Features: ① Every 3 bytes → 4 characters ② Uses = for padding ③ Increases size by ~33% ④ Not suitable for URLs

Example: Hello → SGVsbG8=

2. Base64 URL

Use case: Web URLs, JWT tokens

Character set changes: ① + → - ② / → _

Features: ① URL-safe, suitable for query/path ② Usually removes padding (=)

3. Base32 Std

Use case: TOTP, DNS, security systems

Character set: A–Z 2–7

Features: ① More secure but longer ② Uses only uppercase letters and digits 2–7 ③ Suitable for manual input with fewer errors ④ Uses = for padding

4. Base32 HEX

Use case: RFC-compatible systems

Character set: 0–9 A–V

Features: ① Closer to hexadecimal style ② More machine-friendly ③ Uses = for padding

5. Base58

Use case: Blockchain (Bitcoin, IPFS)

Character set: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz

Features: ① Removes confusing characters like 0, O, I, l, +, / ② No padding ③ Suitable for manual copy/paste input

6. URL Query Encoding

Use case: HTTP GET parameter transmission

Rules: ① Space → + ② Special characters → %XX

Examples: ① hello world → hello+world ② hello? → hello%3F

Comparison Summary

EncodingCharacter SetPaddingURL SafeUse Case
Base64 StdA–Z a–z 0–9 + /=General transfer
Base64 URLA–Z a–z 0–9 - _JWT / Web
Base32 StdA–Z 2–7=TOTP / DNS
Base32 HEX0–9 A–V=RFC systems
Base581–9 A–Z a–z (excluding O, o)Blockchain addresses
URL Query%XX encodingHTTP parameters