1. base64์ ๋ํด์ ์์ฑํ๋ ์ด์
- ํ์ฌ์์ ํ
์คํธ ์๋ํฐ๋ฅผ ์ด์ฉํด ๊ณต์ง์ฌํญ์ ์์ฑํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ์๋ค.
ํ
์คํธ ์๋ํฐ์์ ์์ฑํ ๋ด์ฉ์ html ์ฝ๋๋ก ๋ฐ์์จ ํ DB์ ์ ์ฅ์ ํด์ผํ๋๋ฐ
img ํ๊ทธ์ src์ data:image/png;base64๋ผ๋ ์ฒ์๋ณด๋ ๊ธ์๊ฐ ์์๋ค.
๊ทธ๋์ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ฉฐ base64์ ๋ํด์ ๊ณต๋ถ๋ฅผ ํ๋๋ฐ ๊ทธ ๋ด์ฉ์ ๋ค์ ์ ๋ฆฌํด ๊ธฐ๋กํ๋ คํ๋ค.
2. ๋ธ๋ก๊ทธ ์์ฑ์ ์ํ ์๋ฃ ์ ๋ฆฌ
- ์ปดํจํฐ์ ์ ๋ณด ํํ ๋ฐฉ๋ฒ
- ์ปดํจํฐ๋ 0๊ณผ 1๋ก ์ ๋ณด๋ฅผ ํํํจ
- ์ ๊ธฐ์ ํธ๊ฐ ์์ผ๋ฉด 1 ์์ผ๋ฉด 0
- ์ด๋ฌํ 0๊ณผ 1์ ์ต์๋จ์๋ก bit(๋นํธ)๋ผ๊ณ ๋ถ๋ฆ
- 0๊ณผ 1๋ก๋ ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ๋ฌธ์๋ฅผ ํํํ๊ธฐ์๋ ๋ฌด๋ฆฌ๊ฐ ์์ด์ 8๊ฐ์ ๋นํธ๋ฅผ ํ๋๋ก 1byte๋ผ๋ ๋จ์๋ฅผ ์ฌ์ฉํ๊ฒ๋จ
- ํ๋์ bit๋ 0๊ณผ 1 2๊ฐ์ ์ ๋ณด๋ฅผ ํํํ๋ฏ๋ก bit๊ฐ 8๊ฐ๋ผ๋ฉด 2^8 = 256 ์ด๋ฏ๋ก 256๊ฐ์ง์ ์ ๋ณด๋ฅผ ํํํ ์ ์์
- ASCII ์ฝ๋
- ์์คํค์ฝ๋๊ฐ ๋ฑ์ฅํ ์ด์ ๋ ์์ ์ค๋ช
ํ byte๋ก ์ ๋ณด๋ฅผ ํํํ ๋ ์ปดํจํฐA๋ a๋ฅผ 65๋ก ์ปดํจํฐB๋ a๋ฅผ 1๋ก ํํํ๋ค๊ณ ๊ฐ์ ํ ๋
์ปดํจํฐA๊ฐ ์ปดํจํฐB์๊ฒ a๋ฅผ ๋ณด๋ด๊ธฐ์ํด 1byte๋จ์๋ก 65๋ผ๋ ์ซ์(8๊ฐ์ ๋นํธ ์กฐํฉ์ ์ด์ง์๋ก)๋ฅผ ๋ณด๋์ ๋ ์ปดํจํฐB๋ 65๊ฐ a๊ฐ ์๋๋ฏ๋ก
์ ๋ณด ์ ๋ฌ์ ์ค์ฐจ๊ฐ ๋ฐ์ํ๋ค.
๋ฐ๋ผ์ ์ปดํจํฐ(์ ์๊ธฐ๊ธฐ)๋ผ๋ฆฌ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํด 1byte๋ก ํํ ๊ฐ๋ฅํ ์๋ฌธ์์ ์ซ์์ ์์๋ฅผ ์ ํ ํ์๋ฅผ ๋๊ปด ๊ตญ์ ํ์ค์ธ ASCII CODE๋ฅผ ๋ง๋ ๊ฒ์ด๋ค.
ASCII CODE๋ ๋ฏธ๊ตญ ANSI์์ ํ์คํํ ์ ๋ณด๊ตํ์ฉ 7๋นํธ ๋ถํธ์ฒด๊ณ๋ก โAmerican Standard Code For Infomation Interchangeโ์ ์ฝ์์ด๋ค.
์ฆ, โ์ ๋ณด๊ตํ์ ์ํ ๋ฏธ๊ตญ ํ์ค ์ฝ๋โ๋ผ๋ ๋ป์ด๋ค.
- base64์ ๋ํ ์ค๋ช
- java base64๋ก ์ด๋ฏธ์ง ์์ฑํ๋ ๋ฐฉ๋ฒ