πŸ”Base64 λ³€ν™˜κΈ°

원본 데이터λ₯Ό μž…λ ₯ν•˜μ—¬ μΈμ½”λ”©ν•˜κ±°λ‚˜, Base64 μ½”λ“œλ₯Ό λ„£μ–΄ λ””μ½”λ”©ν•˜μ„Έμš”.

λ³€ν™˜ κ²°κ³Ό

κ²°κ³Όκ°€ 여기에 ν‘œμ‹œλ©λ‹ˆλ‹€.

도ꡬ ν™œμš© κ°€μ΄λ“œ

Base64 인코딩은 8λΉ„νŠΈ λ°”μ΄λ„ˆλ¦¬ 데이터λ₯Ό 문자 μ½”λ“œμ— 영ν–₯을 λ°›μ§€ μ•ŠλŠ” 곡톡 ASCII 문자둜 λ³€ν™˜ν•˜λŠ” ν‘œμ€€ λ°©μ‹μž…λ‹ˆλ‹€. 컴퓨터 톡신 μ΄ˆκΈ°λΆ€ν„° μ‚¬μš©λ˜μ–΄ 온 이 κΈ°μˆ μ€, λ°”μ΄λ„ˆλ¦¬ 데이터(이미지, μ‹€ν–‰ 파일 λ“±)λ₯Ό ν…μŠ€νŠΈ 기반 μ‹œμŠ€ν…œμ„ 톡해 전솑할 λ•Œ λ°œμƒν•  수 μžˆλŠ” 데이터 μ†μ‹€μ΄λ‚˜ λ³€ν˜•μ„ 막기 μœ„ν•΄ κ³ μ•ˆλ˜μ—ˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, 이메일 μ‹œμŠ€ν…œμ΄λ‚˜ HTTP 톡신 ν™˜κ²½μ—μ„œ 일뢀 μ œμ–΄ λ¬Έμžκ°€ μ‹œμŠ€ν…œμ— μ˜ν•΄ 잘λͺ» ν•΄μ„λ˜λŠ” 것을 λ°©μ§€ν•˜κΈ° μœ„ν•΄ 데이터λ₯Ό μ•ˆμ „ν•œ 'λ¬Έμžμ—΄' ν˜•νƒœλ‘œ κ°μ‹ΈλŠ” 역할을 ν•©λ‹ˆλ‹€.

λ³Έ λ„κ΅¬λŠ” λ‹¨μˆœν•œ 인코딩 κΈ°λŠ₯을 λ„˜μ–΄, ν˜„λŒ€ μ›Ή ν™˜κ²½μ—μ„œ κ°€μž₯ μ€‘μš”ν•œ UTF-8 μœ λ‹ˆμ½”λ“œ ν˜Έν™˜μ„±μ„ μ™„λ²½ν•˜κ²Œ μ§€μ›ν•©λ‹ˆλ‹€. μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ κΈ°λ³Έ `btoa` ν•¨μˆ˜λŠ” ν•œκΈ€κ³Ό 같은 λ‹€κ΅­μ–΄ 문자λ₯Ό μ²˜λ¦¬ν•  λ•Œ 였λ₯˜λ₯Ό λ°œμƒμ‹œν‚€λŠ” κ²½μš°κ°€ λ§Žμ§€λ§Œ, μ‹¬ν”Œμš°λ””μ˜ Base64 λ³€ν™˜κΈ°λŠ” 데이터λ₯Ό λ°”μ΄νŠΈ λ°°μ—΄λ‘œ λ³€ν™˜ν•œ λ’€ 인코딩 과정을 κ±°μΉ˜λ―€λ‘œ ν•œκΈ€ 깨짐 ν˜„μƒ 없이 μ•ˆμ „ν•˜κ²Œ λ³€ν™˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” κ°œλ°œμžκ°€ API 톡신을 μ„€κ³„ν•˜κ±°λ‚˜ μ„€μ • 데이터λ₯Ό λ¬Έμžμ—΄ν™”ν•  λ•Œ λ°œμƒν•  수 μžˆλŠ” μ‚¬μ†Œν•œ 버그λ₯Ό 사전에 차단해 μ€λ‹ˆλ‹€.

λ³΄μ•ˆκ³Ό μ„±λŠ₯ μΈ‘λ©΄μ—μ„œλ„ λ³Έ μœ ν‹Έλ¦¬ν‹°λŠ” κ°•λ ₯ν•©λ‹ˆλ‹€. μ„œλ²„λ‘œ 데이터λ₯Ό μ „μ†‘ν•˜μ§€ μ•Šκ³  μ‚¬μš©μžμ˜ λΈŒλΌμš°μ € λ‚΄μ—μ„œ λͺ¨λ“  연산을 μˆ˜ν–‰ν•˜λ―€λ‘œ, λ―Όκ°ν•œ μ„€μ • μ •λ³΄λ‚˜ λΉ„λ°€λ²ˆν˜Έ κ΄€λ ¨ 데이터λ₯Ό λ‹€λ£° λ•Œλ„ 정보 유좜의 μœ„ν—˜μ΄ μ—†μŠ΅λ‹ˆλ‹€. μΈμ½”λ”©λœ λ°μ΄ν„°λŠ” 원본보닀 μ•½ 33% 정도 μš©λŸ‰μ΄ λŠ˜μ–΄λ‚˜μ§€λ§Œ, 데이터 μ „μ†‘μ˜ μ•ˆμ •μ„±μ„ 확보할 수 μžˆλ‹€λŠ” μ μ—μ„œ λŒ€μ²΄ λΆˆκ°€λŠ₯ν•œ κ°€μΉ˜λ₯Ό μ§€λ‹™λ‹ˆλ‹€. λ³΅μž‘ν•œ μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜ λ‚΄μ—μ„œ 데이터 흐름을 μΆ”μ ν•˜κ±°λ‚˜, λΉ λ₯Έ ν”„λ‘œν† νƒ€μ΄ν•‘μ„ μœ„ν•΄ 이미지 μ†ŒμŠ€λ₯Ό 인라인화해야 ν•˜λŠ” μƒν™©μ—μ„œ 이 λ„κ΅¬λŠ” 졜고의 νš¨μœ¨μ„ μ œκ³΅ν•  κ²ƒμž…λ‹ˆλ‹€.

자주 λ¬»λŠ” 질문 (FAQ)

Q: 인코딩 ν›„ μš©λŸ‰μ΄ μ™œ λŠ˜μ–΄λ‚˜λ‚˜μš”?

A: Base64λŠ” 3λ°”μ΄νŠΈμ˜ 데이터λ₯Ό 4개의 6진법 문자둜 ν‘œν˜„ν•˜κΈ° λ•Œλ¬Έμ—, ν•„μ—°μ μœΌλ‘œ 원본 λŒ€λΉ„ μ•½ 33.3%의 μš©λŸ‰ 증가가 λ°œμƒν•©λ‹ˆλ‹€.

Q: λ””μ½”λ”© κ²°κ³Όκ°€ κΉ¨μ Έμ„œ λ‚˜μ˜΅λ‹ˆλ‹€.

A: 원본 데이터가 UTF-8 μ΄μ™Έμ˜ 인코딩 λ°©μ‹μœΌλ‘œ μƒμ„±λ˜μ—ˆκ±°λ‚˜, μž…λ ₯ν•œ Base64 λ¬Έμžμ—΄μ΄ λΆˆμ™„μ „ν•  경우 깨짐 ν˜„μƒμ΄ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Q: λ³΄μ•ˆμš© μ•”ν˜Έν™”μ™€ λ‹€λ₯Έκ°€μš”?

A: λ„€, Base64λŠ” μ•”ν˜Έν™”κ°€ μ•„λ‹Œ '인코딩(λΆ€ν˜Έν™”)'μž…λ‹ˆλ‹€. λˆ„κ΅¬λ‚˜ λ‹€μ‹œ μ›λ³ΈμœΌλ‘œ 되돌릴 수 μžˆμœΌλ―€λ‘œ λ³΄μ•ˆμ„ μœ„ν•œ μš©λ„λ‘œλŠ” μ ν•©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.