๐Ÿ”Base64 ์ธ์ฝ”๋”ฉยท๋””์ฝ”๋”ฉ๊ธฐ

ํ…์ŠคํŠธโ†”Base64 ์ƒํ˜ธ ๋ณ€ํ™˜

Base64 ์ธ์ฝ”๋”ฉยท๋””์ฝ”๋”ฉ๊ธฐ ์‚ฌ์šฉ๋ฒ•

Base64๋Š” ์•„๋ฌด ๋ฐ”์ดํŠธ ๋ฐ์ดํ„ฐ๋‚˜ ์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์žยท์ˆซ์ž์™€ +, / ๋“ฑ 64๊ฐœ ๋ฌธ์ž๋งŒ์œผ๋กœ ๋‹ค์‹œ ์ ์–ด ์ฃผ๋Š” ํ‘œํ˜„ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ด๋ฉ”์ผ ์ฒจ๋ถ€, ๋ฐ์ดํ„ฐ URI, JWT ํ† ํฐ, API ์ธ์ฆ ํ—ค๋”์ฒ˜๋Ÿผ ํ…์ŠคํŠธ๋งŒ ํ†ต๊ณผํ•˜๋Š” ๊ฒฝ๋กœ๋กœ ๊ฐ’์„ ์‹ค์–ด ๋ณด๋‚ผ ๋•Œ ์”๋‹ˆ๋‹ค. ์•”ํ˜ธํ™”๊ฐ€ ์•„๋‹ˆ๋ผ ๋‹จ์ˆœ ํ‘œํ˜„ ๋ฐฉ์‹์ด๋ผ ๋ˆ„๊ตฌ๋‚˜ ์ฆ‰์‹œ ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ์œผ๋‹ˆ, ๋น„๋ฐ€๋ฒˆํ˜ธ๋‚˜ ๊ฐœ์ธ์ •๋ณด๋ฅผ ๊ฐ€๋ฆฌ๋Š” ์šฉ๋„๋กœ๋Š” ์“ฐ์ง€ ๋งˆ์„ธ์š”.

์ด ๋„๊ตฌ๋Š” ์ž…๋ ฅํ•œ ๊ธ€์ž๋ฅผ ๋จผ์ € UTF-8 ๋ฐ”์ดํŠธ๋กœ ๋ฐ”๊พผ ๋’ค Base64๋กœ ์ธ์ฝ”๋”ฉํ•ฉ๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ณธ ํ•จ์ˆ˜์ธ btoa๋Š” Latin-1 ๋ฒ”์œ„๋งŒ ๋ฐ›์•„์„œ ํ•œ๊ธ€์ด๋‚˜ ์ด๋ชจ์ง€๋ฅผ ๋„ฃ์œผ๋ฉด ๊ทธ๋Œ€๋กœ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋Š”๋ฐ, UTF-8 ๋ณ€ํ™˜ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์น˜๊ธฐ ๋•Œ๋ฌธ์— ํ•œ๊ธ€ยท์ผ๋ณธ์–ดยท์ด๋ชจ์ง€๋„ ๋ฌธ์ œ ์—†์ด ์ธ์ฝ”๋”ฉ๋˜๊ณ  ๋””์ฝ”๋”ฉํ•˜๋ฉด ์›๋ฌธ์ด ๊ทธ๋Œ€๋กœ ๋˜์‚ด์•„๋‚ฉ๋‹ˆ๋‹ค.

๋””์ฝ”๋”ฉ์€ URL ์„ธ์ดํ”„ ๋ณ€ํ˜•๊นŒ์ง€ ๋ฐ›์•„ ์ค๋‹ˆ๋‹ค. +์™€ / ์ž๋ฆฌ์— -์™€ _๋ฅผ ์“ด ๋ฌธ์ž์—ด์€ ์ž๋™์œผ๋กœ ๋˜๋Œ๋ฆฌ๊ณ , ๋์˜ = ํŒจ๋”ฉ์ด ๋น ์ ธ ์žˆ์œผ๋ฉด ์ฑ„์šด ๋’ค ํ•ด์„ํ•˜๋ฉฐ, ์ค‘๊ฐ„์— ๋‚€ ์ค„๋ฐ”๊ฟˆ๊ณผ ๊ณต๋ฐฑ์€ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์ธ์ฝ”๋”ฉ ๊ฒฐ๊ณผ๋Š” ํ‘œ์ค€ ํ˜•์‹์œผ๋กœ๋งŒ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค. ์ž…๋ ฅ์€ 20๋งŒ ์ž๊นŒ์ง€ ์ฒ˜๋ฆฌํ•˜๊ณ , ๋ชจ๋“  ๋ณ€ํ™˜์€ ๋ธŒ๋ผ์šฐ์ € ์•ˆ์—์„œ๋งŒ ์‹คํ–‰๋˜์–ด ์ž…๋ ฅํ•œ ๋‚ด์šฉ์ด ์„œ๋ฒ„๋กœ ์ „์†ก๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

Base64๋กœ ๋ฐ”๊พธ๋ฉด ๋‚ด์šฉ์ด ์•ˆ์ „ํ•˜๊ฒŒ ์ˆจ๊ฒจ์ง€๋‚˜์š”?

์•„๋‹™๋‹ˆ๋‹ค. Base64๋Š” ์•”ํ˜ธํ™”๊ฐ€ ์•„๋‹ˆ๋ผ ํ‘œํ˜„ ๋ฐฉ์‹์ด๋ผ ๋ˆ„๊ตฌ๋‚˜ ์ฆ‰์‹œ ์›๋ฌธ์œผ๋กœ ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„๋ฐ€๋ฒˆํ˜ธ๋‚˜ ๊ฐœ์ธ์ •๋ณด๋Š” ๋ฐ˜๋“œ์‹œ ๋ณ„๋„์˜ ์•”ํ˜ธํ™”๋ฅผ ์ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ•œ๊ธ€์ด๋‚˜ ์ด๋ชจ์ง€๋ฅผ ๋„ฃ์œผ๋ฉด ์™œ ๋‹ค๋ฅธ ๋„๊ตฌ์—์„œ๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋‚˜์š”?

๋ธŒ๋ผ์šฐ์ €์˜ btoa ํ•จ์ˆ˜๊ฐ€ Latin-1 ๋ฒ”์œ„๋งŒ ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด ๋„๊ตฌ๋Š” ํ…์ŠคํŠธ๋ฅผ UTF-8 ๋ฐ”์ดํŠธ๋กœ ๋ฐ”๊พผ ๋’ค ์ธ์ฝ”๋”ฉํ•˜๋ฏ€๋กœ ํ•œ๊ธ€ยท์ด๋ชจ์ง€๋„ ์˜ค๋ฅ˜ ์—†์ด ์™•๋ณต๋ฉ๋‹ˆ๋‹ค.

๋””์ฝ”๋”ฉ์ด ์ž๊พธ ์‹คํŒจํ•œ๋‹ค๊ณ  ๋‚˜์˜ต๋‹ˆ๋‹ค.

๋ฌธ์ž์—ด์ด ์ค‘๊ฐ„์— ์ž˜๋ ธ๊ฑฐ๋‚˜, Base64๊ฐ€ ์•„๋‹Œ ๋ฌธ์ž๊ฐ€ ์„ž์˜€๊ฑฐ๋‚˜, ์›๋ณธ์ด ์ด๋ฏธ์ง€ ๊ฐ™์€ ์ด์ง„ ๋ฐ์ดํ„ฐ๋ผ UTF-8 ํ…์ŠคํŠธ๋กœ ํ•ด์„๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ์ด ๋„๊ตฌ๋Š” ํ…์ŠคํŠธ ๊ฒฐ๊ณผ๋งŒ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.