Base32 ์ธ์ฝ๋ฉ/๋์ฝ๋ฉ (๋ฐ์ด๋๋ฆฌ)
100% ํด๋ผ์ด์ธํธ ์ธก ์ฒ๋ฆฌ (์๋ฒ ์ ๋ก๋ ์์). ์ ํ ๊ฐ๋ฅํ ์ํ๋ฒณ(RFC 4648/Base32hex/Crockford), ํจ๋ฉ ์ ์ด, ์ ํ์ ์ค ๋ฐ๊ฟ ๋ฐ ์์ธก ๊ฐ๋ฅํ ์ถ๋ ฅ ํ์์ผ๋ก ๋ฐ์ด๋๋ฆฌ ํ์ผ(๋ฐ์ดํธ)์ Base32 ํ ์คํธ๋ก ์ธ์ฝ๋ฉํฉ๋๋ค.
๊ธฐ๋ฅ
- ๋ฐ์ด๋๋ฆฌ ํ์ผ(File/Blob/Uint8Array/ArrayBuffer)์ Base32 ํ ์คํธ๋ก ์ธ์ฝ๋ฉ
- Base32 ๋ฐฉ์ธ ์ ํ: RFC 4648 (Base32), RFC 4648 (Base32hex) ๋๋ Crockford Base32
- ํจ๋ฉ(=) ์ ์ด: ์๋, ํญ์ ํฌํจ ๋๋ ์๋ต
- ๋ฌธ์ ๋์๋ฌธ์ ์ถ๋ ฅ: ๋๋ฌธ์ ๋๋ ์๋ฌธ์ (์ธ์ฝ๋ฉ ๋ชจ๋)
- ์ ํ์ ์ค ๋ฐ๊ฟ: 0โ120 ์ด์์ ์ค ๋ฐ๊ฟ (0์ ์ค ๋ฐ๊ฟ ๋นํ์ฑํ)
- ์ถ๋ ฅ ํ์ ๋์ฐ๋ฏธ: ์ค ๊ตฌ๋ถ์(LF ๋๋ CRLF) ๋ฐ ์ ํ์ ์ต์ข ์ค ๋ฐ๊ฟ
- ์ผ๊ด ์ธ์ฝ๋ฉ์ ์ํ ๋ค์ค ํ์ผ ๋๋กญ์กด ์ํฌํ๋ก์ฐ (ํด๋ผ์ด์ธํธ ์ธก)
- 100% ํด๋ผ์ด์ธํธ ์ธก ์ฒ๋ฆฌ (์๋ฒ ์ ๋ก๋ ์์).
์ฌ์ฉ ๋ฐฉ๋ฒ for base32-binary-encoder
ํ์ผ ๋ถ์ฌ๋ฃ๊ธฐ ๋๋ ๋๋กญ
ํ๋ ์ด์์ ํ์ผ์ ์ ๋ก๋ ์์ญ์ ๋๋กญํ์ธ์(๋ฐ์ด๋๋ฆฌ ์ ๋ ฅ). ์ด ์ธ์ฝ๋๋ ์ผ๋ฐ ํ ์คํธ ๋ฌธ์์ด์ด ์๋ ๋ฐ์ดํธ(File/Blob/Uint8Array/ArrayBuffer)๋ฅผ ๊ธฐ๋ํฉ๋๋ค.
"์ธ์ฝ๋ฉ" ํด๋ฆญ
๋์์ "ํ์ผ โ Base32 ์ธ์ฝ๋ฉ"์ผ๋ก ์ค์ ํ๊ณ , ํ์(RFC 4648 / Base32hex / Crockford)์ ์ ํํ๋ฉฐ, ํ์์ ๋ฐ๋ผ ํจ๋ฉ, ๋ฌธ์ ๋์๋ฌธ์, ์ค ๋ฐ๊ฟ ๋ฐ ์ค ๋ฐ๊ฟ ์ต์ ์ ์กฐ์ ํ์ธ์.
๋ณต์ฌ/๋ค์ด๋ก๋
ํธ์ง๊ธฐ์์ Base32 ์ถ๋ ฅ์ ๋ณต์ฌํ๊ฑฐ๋, ์ธ์ฝ๋ฉ๋ ๊ฒฐ๊ณผ๋ฅผ ํ์ผ๋ก ๋ค์ด๋ก๋/๋ด๋ณด๋ด์ธ์ (๋๊ตฌ UI์์ *.b32.txt์ ๊ฐ์ ํ์ผ๋ช ์ ์์ฑํ ์ ์์ต๋๋ค).
๊ธฐ์ ์ฌ์
์คํ ๋ชจ๋ธ
๋ฐํ์ ๊ณต๊ฐ, ์ ์ฝ ์ฌํญ ๋ฐ ์ด ํ์ด์ง ๋ณํ(์ธ์ฝ๋ฉ)์์ ์ธ์ฝ๋๊ฐ ์๋ฝํ๋ ๋ด์ฉ์ ๋๋ค.
| ์ธก๋ฉด | ์์ธ ๋ด์ฉ |
|---|---|
| ๋ฐํ์ | 100% ํด๋ผ์ด์ธํธ ์ธก ์ฒ๋ฆฌ (์๋ฒ ์ ๋ก๋ ์์). |
| ๋ณํ ๋ฒ์ | ์ธ์ฝ๋ฉ ์ ์ฉ (ํ์ผ/๋ฐ์ดํธ โ Base32 ํ ์คํธ) |
| ์ ๋ ฅ ์ ํ | File/Blob/Uint8Array/ArrayBuffer/TypedArray (๋ฐ์ด๋๋ฆฌ). ์ธ์ฝ๋ฉ์๋ ํ ์คํธ ๋ฌธ์์ด์ด ๊ฑฐ๋ถ๋ฉ๋๋ค. |
| ์ถ๋ ฅ ์ ํ | ํ ์คํธ (Base32) |
| ํ์ | RFC 4648 (Base32), RFC 4648 (Base32hex), Crockford Base32 |
| ์์ ์ ์ด | ํจ๋ฉ (์๋/ํฌํจ/์๋ต), ๋ฌธ์ ๋์๋ฌธ์ (๋๋ฌธ์/์๋ฌธ์), ์ค๋ฐ๊ฟ ๊ธธ์ด (0โ120), ์ค ๊ตฌ๋ถ์ (LF/CRLF), ์ต์ข ์ค๋ฐ๊ฟ ์ฝ์ |
| ์ ํ | ~1โ2MB ๋ฌธ์; ~25000ms ํ์์์ |
| ๋ณด์กด | ๋ชจ๋ ์ฒ๋ฆฌ๋ ๋ธ๋ผ์ฐ์ ์์ ๋ก์ปฌ๋ก ์ด๋ฃจ์ด์ง๋๋ค (์ ๋ก๋ ์์) |
๊ฐ๋จํ ์์
์ธ์ฝ๋๊ฐ ์์ฑํ๋ ๊ฒฐ๊ณผ์ ์ต์ํ์ ์์์ ๋๋ค. (์ ํํ ์ถ๋ ฅ์ ์ ํํ ํ์, ํจ๋ฉ, ๋์๋ฌธ์, ์ค๋ฐ๊ฟ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.)
| ํญ๋ชฉ | ๊ฐ |
|---|---|
| ์ ๋ ฅ | ๋ฐ์ด๋๋ฆฌ ํ์ผ (๋ฐ์ดํธ) |
| ์์ | ํ์ผ ์ธ์ฝ๋ฉ โ Base32 |
| ์ถ๋ ฅ | Base32 ํ ์คํธ (RFC 4648 / Base32hex / Crockford) |
์ค๋ฅ ๋ฐ ์์ธ ์ํฉ
์ ๋ ฅ์ด๋ ์ค์ ์ด ์ธ์ฝ๋ฉ ์ํฌํ๋ก์ ์ผ์นํ์ง ์์ ๋ ์์๋๋ ์ฌํญ์ ๋๋ค.
| ์ฆ์ | ๊ฐ๋ฅํ ์์ธ | ํ์ธ ์ฌํญ |
|---|---|---|
| ์ด ๋๊ตฌ๋ ๋ฐ์ด๋๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ์ธ์ฝ๋ฉํฉ๋๋คโฆ ํ ์คํธ ๋ฌธ์์ด์ด ์๋๋๋ค | ๋ฐ์ด๋๋ฆฌ ์ ์ฉ ์ธ์ฝ๋ฉ ์์ญ์ ํ ์คํธ๋ฅผ ๋ถ์ฌ๋ฃ์์ต๋๋ค | ํ ์คํธ๋ฅผ ์ ๋ ฅํ๋ ๋์ ํ์ผ์ ์ ๋ก๋ํ๊ฑฐ๋ ๋ฐ์ดํธ๋ฅผ ์ ๊ณตํ์ธ์ |
| ์ง์๋์ง ์๋ ๋ฐ์ด๋๋ฆฌ ์ ๋ ฅ ์ ํ | ์ ๋ ฅ์ด File/Blob/Uint8Array/ArrayBuffer/TypedArray๊ฐ ์๋๋๋ค | ๋ธ๋ผ์ฐ์ ๊ฐ File/Blob๋ฅผ ์ ๊ณตํ๋์ง ๋๋ ์ฝ๋๊ฐ ๋ฐ์ดํธ ๋ฒํผ๋ฅผ ์ ๋ฌํ๋์ง ํ์ธํ์ธ์ |
| ์ ๋ ฅ์ด ๋๋ฌด ํผ (์ต๋ 2MB) | ํ์ผ/๋ฐ์ดํธ๊ฐ ๋๊ตฌ ๋ด ์ฒ๋ฆฌ ๊ฐ์ด๋๋ผ์ธ์ ์ด๊ณผํ์ต๋๋ค | ๋ ์์ ์ํ์ ์๋ํ๊ฑฐ๋ ์ธ์ฝ๋ฉ ์ ์ ํ์ผ์ ์ฒญํฌ๋ก ๋ถํ ํ์ธ์ |
| ์ด๋ํฐ ํธ์ถ ์๊ฐ ์ด๊ณผ | ์ธ์ฝ๋ฉ ์์ ์ด ~25000ms ํ์์์์ ์ด๊ณผํ์ต๋๋ค | ์ ๋ ฅ ํฌ๊ธฐ๋ฅผ ์ค์ด๊ณ , ์ ์ฉ ๊ฐ๋ฅํ ๊ฒฝ์ฐ ๋น๋ฒํ ์ค๋ฐ๊ฟ๊ณผ ๊ฐ์ ๊ณ ๋น์ฉ ์์์ ๋นํ์ฑํํ์ธ์ |
| ์์์น ๋ชปํ ์ถ๋ ฅ ์์ | ๋ํ/ํจ๋ฉ/์ผ์ด์ค/์ค๋ฐ๊ฟ ์ต์ ์ด ํ ์คํธ ํํ์ ๋ณ๊ฒฝํ์ต๋๋ค | ํจ๋ฉ ๋ชจ๋, wrapLineLength, ๊ตฌ๋ถ์(LF/CRLF), ์ต์ข ์ค๋ฐ๊ฟ ์ค์ ์ ํ์ธํ์ธ์ |
๋ช ๋ น์ค ๋์
์๋ํ, ์ฌํ์ฑ ๋๋ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ ์ํฌํ๋ก์ฐ๋ฅผ ์ํด ํฐ๋ฏธ๋์ด๋ CI ํ๊ฒฝ์์ ๋ก์ปฌ ์คํ์ ์ ํธํ์ธ์.
macOS / Linux
ํ์ผ์ Base32๋ก ์ธ์ฝ๋ฉ (์์คํ ์ base32 ์ ํธ๋ฆฌํฐ๊ฐ ์๋ ๊ฒฝ์ฐ ํ์)
base32 < input.bin > output.b32.txtํ๋ซํผ์ด base32 ๋ช ๋ น์ด๋ฅผ ์ ๊ณตํ๋ ๊ฒฝ์ฐ ๋ก์ปฌ Base32 ์ธ์ฝ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค (์ผ๋ฐ์ ์ผ๋ก GNU coreutils์์ ์ ๊ณต). ๋์(ํจ๋ฉ/๋ํ)์ ๊ตฌํ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.
Windows (PowerShell)
Base32 ์ธ์ฝ๋ฉ์ ์ํด ๋ก์ปฌ ์ธ์ด/๋ฐํ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ (๊ถ์ฅ)
python -c "import base64,sys; data=open('input.bin','rb').read(); print(base64.b32encode(data).decode('ascii'))"Python์ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ Base32 ์ธ์ฝ๋ฉ์ ์ง์ํฉ๋๋ค. ์ํ๋ ์ถ๋ ฅ๊ณผ ์ผ์นํ๋๋ก ์คํฌ๋ฆฝํธ์์ ํ์(๋ํ/์ค๋ฐ๊ฟ/์ผ์ด์ค)์ ์กฐ์ ํ์ธ์.
์ฌ์ฉ ์ฌ๋ก
๋ฐ์ด๋๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ์ผ๋ฐ ํ ์คํธ๋ก ๊ณต์
- ์์ ๋ฐ์ด๋๋ฆฌ ๋ธ๋กญ์ ์ธ์ฝ๋ฉํ์ฌ ํฐ์ผ, ์ฑํ ๋๋ ํ ์คํธ ๊ธฐ๋ฐ ์์คํ ์ ๋ถ์ฌ๋ฃ์ ์ ์๋๋ก ํจ
- AโZ/2โ7(RFC 4648)๋ก ์ ๋ ฅ์ ์ ํํ๋ ์์คํ ์ ์ํ Base32 ํํ ์์ฑ
Base32 ๋ฐฉ์ธ ๊ฐ ์ํธ ์ด์ฉ์ฑ ํ ์คํธ
- ๋์ผํ ํ์ผ์ ๋ํ RFC 4648 vs Base32hex vs Crockford ์ถ๋ ฅ ๋น๊ต
- ํ์๋ค์ด ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ์ป๋๋ก ํจ๋ฉ ๋ฐ ์ผ์ด์ค ๊ท์น ํ์คํ
CI ์นํ์ ์ธ ํฝ์ค์ฒ ๋ฐ ๊ณจ๋ ์ถ๋ ฅ
- ๋จ์ ํ ์คํธ๋ฅผ ์ํ ๊ฒฐ์ ๋ก ์ Base32 ํฝ์ค์ฒ ์์ฑ
- ํ๋ซํผ ๊ฐ ์ฐจ์ด๋ฅผ ํผํ๊ธฐ ์ํด ๋ํ ๋ฐ ์ค๋ฐ๊ฟ ๋์ ๊ณ ์
์ฑ๋ฅ ๋ฐ ํฌ๊ธฐ ์ ์ ์ฑ ๊ฒ์ฌ
- ์์ ํ์ผ ์ํ์ ๋ํ Base32 ํ์ฅ ๋น ๋ฅธ ์ถ์
- ์ค ๋ํ ๋ฐ ๊ตฌ๋ถ์๊ฐ ๋ค์ด์คํธ๋ฆผ ํ์ ๊ธฐ๋์น์ ์ผ์นํ๋์ง ๊ฒ์ฆ
โ Frequently Asked Questions
์ด ์ธ์ฝ๋์ ๋ํ ๊ณต๊ฐ API๊ฐ ์๋์?
API ์๋ํฌ์ธํธ๋ฅผ ๋
ธ์ถํ์ง ์์ต๋๋ค.์ฒ๋ฆฌ๋ ๋ก์ปฌ์ธ๊ฐ์ ์๊ฒฉ์ธ๊ฐ์?
์ฌ๊ธฐ์ ๋น๋ฐ์ ์์ ํ๊ฒ ์ธ์ฝ๋ฉํ ์ ์๋์?
๋๊ตฌ๊ฐ ๋ฐ์ด๋๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ํ๋ค๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ์ด์ ๋ ๋ฌด์์ธ๊ฐ์?
๋ค๋ฅธ ๋๊ตฌ์ ์ถ๋ ฅ ๊ฒฐ๊ณผ(๋์๋ฌธ์, ํจ๋ฉ, ์ค๋ฐ๊ฟ)๊ฐ ๋ค๋ฅธ ์ด์ ๋ ๋ฌด์์ธ๊ฐ์?
Pro Tips
PR์ด๋ CI์์ ์์ ์ ์ธ diff๊ฐ ํ์ํ๋ค๋ฉด, ํฌ๋งทํ ์ ๊ณ ์ ํ์ธ์: ๋จ์ผ ๋ฐฉ์ธ ์ ํ, ํจ๋ฉ ๋ชจ๋ ๊ณ ์ , wrapLineLength ๋ช ์์ ์ค์ , ๋ง์ง๋ง ์ค๋ฐ๊ฟ ์ถ๊ฐ ์ฌ๋ถ ๊ฒฐ์ .
์๊ฒฉํ ์๋น์์์ ์ต๋ ํธํ์ฑ์ ์ํด, ํจ๋ฉ "์๋" ๋๋ "ํญ์ = ํฌํจ"์ผ๋ก RFC 4648์ ์ฌ์ฉํ๊ณ ์ถ๋ ฅ์ ๋๋ฌธ์๋ก ์ ์งํ์ธ์.
๋ค์ด์คํธ๋ฆผ ํ์ฑ์ด ์ค๋ฐ๊ฟ์ ๋ฏผ๊ฐํ๋ค๋ฉด, ๋์ ํ๋ซํผ๊ณผ ์ผ์นํ๋๋ก ์ค ๊ตฌ๋ถ์(LF vs CRLF)๋ฅผ ๋ช ์์ ์ผ๋ก ์ค์ ํ์ธ์.
๋ฏผ๊ฐํ ๋ฐ์ดํฐ์ ๊ฒฝ์ฐ, ์ด ๋๊ตฌ๊ฐ ํด๋ผ์ด์ธํธ ์ธก์์ ์คํ๋๋๋ผ๋, ํนํ ๊ณต์ ๋จธ์ ์ด๋ ๊ด๋ฆฌ ๋ธ๋ผ์ฐ์ ์์๋ ๋ก์ปฌ CLI/๋ผ์ด๋ธ๋ฌ๋ฆฌ ์คํ์ ์ ํธํ์ธ์.
Additional Resources
Other Tools
- CSS ์ ๋ฆฌ ๋๊ตฌ
- HTML ์ ๋ฆฌ ๋๊ตฌ
- ์๋ฐ์คํฌ๋ฆฝํธ ์ ๋ฆฌ ๋๊ตฌ
- PHP ์ ๋ฆฌ ๋๊ตฌ
- ์์ ์ ํ๊ธฐ
- ์คํ๋ผ์ดํธ ์ถ์ถ๊ธฐ
- Base32 ๋์ฝ๋
- Base32 ์ธ์ฝ๋
- Base58 ์ด์ง ์ธ์ฝ๋
- Base58 ๋์ฝ๋
- Base58 ์ธ์ฝ๋
- Base62 ์ด์ง ์ธ์ฝ๋
- Base62 ๋์ฝ๋
- Base62 ์ธ์ฝ๋
- Base64 ์ด์ง ์ธ์ฝ๋
- Base64 ๋์ฝ๋
- Base64 ์ธ์ฝ๋
- 16์ง์ ์ด์ง ์ธ์ฝ๋
- 16์ง์ ๋์ฝ๋
- 16์ง์ ์ธ์ฝ๋
- C# ํฌ๋งทํฐ
- CSV ํฌ๋งทํฐ
- Dockerfile Formatter
- Elm ํฌ๋งทํฐ
- ENV ํฌ๋งทํฐ
- Go ํฌ๋งทํฐ
- GraphQL ํฌ๋งทํฐ
- HCL ํฌ๋งทํฐ
- INI ํฌ๋งทํฐ
- JSON ํฌ๋งทํฐ
- LaTeX ํฌ๋งทํฐ
- ๋งํฌ๋ค์ด ํฌ๋งทํฐ
- Objective-C ํฌ๋งทํฐ
- Php Formatter
- ํ๋กํ ์ฝ ๋ฒํผ ํฌ๋งทํฐ
- Python ํฌ๋งทํฐ
- Ruby ํฌ๋งทํฐ
- Rust ํฌ๋งทํฐ
- Scala ํฌ๋งทํฐ
- ์ ธ ์คํฌ๋ฆฝํธ ํฌ๋งทํฐ
- SQL ํฌ๋งทํฐ
- SVG ํฌ๋งทํฐ
- Swift ํฌ๋งทํฐ
- TOML ํฌ๋งทํฐ
- Typescript Formatter
- XML ํฌ๋งทํฐ
- YAML ํฌ๋งทํฐ
- Yarn ํฌ๋งทํฐ
- CSS ์์ถ๊ธฐ
- Html Minifier
- Javascript Minifier
- JSON ์์ถ๊ธฐ
- XML ์ต์ํ ๋๊ตฌ
- HTTP ํค๋ ๋ทฐ์ด
- PDF ํ ์คํธ ๋ณํ
- ์ ๊ท์ ํ ์คํฐ
- ๊ฒ์ ์์ ํ์ธ๊ธฐ
- Whois ์กฐํ