Base64 ์ธ์ฝ๋ฉยท๋์ฝ๋ฉ๊ธฐ ์ฌ์ฉ๋ฒ
Base64๋ ์๋ฌด ๋ฐ์ดํธ ๋ฐ์ดํฐ๋ ์๋ฌธ ๋์๋ฌธ์ยท์ซ์์ +, / ๋ฑ 64๊ฐ ๋ฌธ์๋ง์ผ๋ก ๋ค์ ์ ์ด ์ฃผ๋ ํํ ๋ฐฉ์์ ๋๋ค. ์ด๋ฉ์ผ ์ฒจ๋ถ, ๋ฐ์ดํฐ URI, JWT ํ ํฐ, API ์ธ์ฆ ํค๋์ฒ๋ผ ํ ์คํธ๋ง ํต๊ณผํ๋ ๊ฒฝ๋ก๋ก ๊ฐ์ ์ค์ด ๋ณด๋ผ ๋ ์๋๋ค. ์ํธํ๊ฐ ์๋๋ผ ๋จ์ ํํ ๋ฐฉ์์ด๋ผ ๋๊ตฌ๋ ์ฆ์ ๋๋๋ฆด ์ ์์ผ๋, ๋น๋ฐ๋ฒํธ๋ ๊ฐ์ธ์ ๋ณด๋ฅผ ๊ฐ๋ฆฌ๋ ์ฉ๋๋ก๋ ์ฐ์ง ๋ง์ธ์.
์ด ๋๊ตฌ๋ ์ ๋ ฅํ ๊ธ์๋ฅผ ๋จผ์ UTF-8 ๋ฐ์ดํธ๋ก ๋ฐ๊พผ ๋ค Base64๋ก ์ธ์ฝ๋ฉํฉ๋๋ค. ๋ธ๋ผ์ฐ์ ๊ธฐ๋ณธ ํจ์์ธ btoa๋ Latin-1 ๋ฒ์๋ง ๋ฐ์์ ํ๊ธ์ด๋ ์ด๋ชจ์ง๋ฅผ ๋ฃ์ผ๋ฉด ๊ทธ๋๋ก ์ค๋ฅ๊ฐ ๋๋๋ฐ, UTF-8 ๋ณํ ๋จ๊ณ๋ฅผ ๊ฑฐ์น๊ธฐ ๋๋ฌธ์ ํ๊ธยท์ผ๋ณธ์ดยท์ด๋ชจ์ง๋ ๋ฌธ์ ์์ด ์ธ์ฝ๋ฉ๋๊ณ ๋์ฝ๋ฉํ๋ฉด ์๋ฌธ์ด ๊ทธ๋๋ก ๋์ด์๋ฉ๋๋ค.
๋์ฝ๋ฉ์ URL ์ธ์ดํ ๋ณํ๊น์ง ๋ฐ์ ์ค๋๋ค. +์ / ์๋ฆฌ์ -์ _๋ฅผ ์ด ๋ฌธ์์ด์ ์๋์ผ๋ก ๋๋๋ฆฌ๊ณ , ๋์ = ํจ๋ฉ์ด ๋น ์ ธ ์์ผ๋ฉด ์ฑ์ด ๋ค ํด์ํ๋ฉฐ, ์ค๊ฐ์ ๋ ์ค๋ฐ๊ฟ๊ณผ ๊ณต๋ฐฑ์ ๋ฌด์ํฉ๋๋ค. ๋ค๋ง ์ธ์ฝ๋ฉ ๊ฒฐ๊ณผ๋ ํ์ค ํ์์ผ๋ก๋ง ๋ด๋ณด๋ ๋๋ค. ์ ๋ ฅ์ 20๋ง ์๊น์ง ์ฒ๋ฆฌํ๊ณ , ๋ชจ๋ ๋ณํ์ ๋ธ๋ผ์ฐ์ ์์์๋ง ์คํ๋์ด ์ ๋ ฅํ ๋ด์ฉ์ด ์๋ฒ๋ก ์ ์ก๋์ง ์์ต๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
์๋๋๋ค. Base64๋ ์ํธํ๊ฐ ์๋๋ผ ํํ ๋ฐฉ์์ด๋ผ ๋๊ตฌ๋ ์ฆ์ ์๋ฌธ์ผ๋ก ๋๋๋ฆด ์ ์์ต๋๋ค. ๋น๋ฐ๋ฒํธ๋ ๊ฐ์ธ์ ๋ณด๋ ๋ฐ๋์ ๋ณ๋์ ์ํธํ๋ฅผ ์ ์ฉํด์ผ ํฉ๋๋ค.
๋ธ๋ผ์ฐ์ ์ btoa ํจ์๊ฐ Latin-1 ๋ฒ์๋ง ๋ฐ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด ๋๊ตฌ๋ ํ ์คํธ๋ฅผ UTF-8 ๋ฐ์ดํธ๋ก ๋ฐ๊พผ ๋ค ์ธ์ฝ๋ฉํ๋ฏ๋ก ํ๊ธยท์ด๋ชจ์ง๋ ์ค๋ฅ ์์ด ์๋ณต๋ฉ๋๋ค.
๋ฌธ์์ด์ด ์ค๊ฐ์ ์๋ ธ๊ฑฐ๋, Base64๊ฐ ์๋ ๋ฌธ์๊ฐ ์์๊ฑฐ๋, ์๋ณธ์ด ์ด๋ฏธ์ง ๊ฐ์ ์ด์ง ๋ฐ์ดํฐ๋ผ UTF-8 ํ ์คํธ๋ก ํด์๋์ง ์๋ ๊ฒฝ์ฐ์ ๋๋ค. ์ด ๋๊ตฌ๋ ํ ์คํธ ๊ฒฐ๊ณผ๋ง ๋ณด์ฌ์ค๋๋ค.