1. ์ด ๋๊ตฌ๋ ๋ฌด์์ ํ๋์
์ด ๋ฌด๋ฃ ์จ๋ผ์ธ ํ ์คํธโ2์ง ๋ณํ๊ธฐ๋ ํ ์คํธ๋ฅผ 2์ง(0๊ณผ 1)์ผ๋ก ๋ฐ๊พธ๊ณ 2์ง์ ๋ค์ ํ ์คํธ๋ก ๋ฐ๊ฟ๋๋ค. UTF-8, ๋ฐ์ดํธ๋น 8๋นํธ. ํ ์คํธโ2์ง, 2์งโํ ์คํธ, ์ธ์ฝ๋ยท๋์ฝ๋๋ก ํ์ตยท์ธ์ฝ๋ฉยท๋น ๋ฅธ ๋ณํ์ ์ฌ์ฉํ์ธ์. ๊ฐ์ ยท์ ๋ก๋ ๋ถํ์, ๋ชจ๋ ์์ ์ ๋ธ๋ผ์ฐ์ ์์ ์ด๋ฃจ์ด์ง๋๋ค. ๋ฐ์ดํธ ์ฌ์ด ๊ณต๋ฐฑ์ ์ ํํด ํ ์คํธ๋ฅผ 2์ง์ผ๋ก ์ธ์ฝ๋ํ๊ฑฐ๋, 2์ง์ ๋ถ์ฌ๋ฃ์ด ์ผ๋ฐ ํ ์คํธ๋ก ๋์ฝ๋ํ ์ ์์ต๋๋ค. ํ์ต, ์ธ์ฝ๋ฉ, ๋๋ฒ๊น , ๊ต์ก์ ์ ํฉํฉ๋๋ค.
2. ์ฌ์ฉ ๋ฐฉ๋ฒ
๋น ๋ฅธ ์์: ํ ์คํธโ2์ง ๋๋ 2์งโํ ์คํธ๋ฅผ ์ ํํ๊ณ ๊ตฌ๋ถ์(์ธ์ฝ๋๋ง)๋ฅผ ์ค์ ํ ๋ค ์ ๋ ฅํ๊ณ ๋ณํ์ ํด๋ฆญํ๋ฉด ์ถ๋ ฅ์ ๋ณต์ฌํ ์ ์์ต๋๋ค. ์๋ชป๋ 2์ง์ ๋์ฝ๋ ์ ์ค๋ฅ๋ก ํ์๋ฉ๋๋ค.
- ๋ชจ๋ ์ ํ โ ํ ์คํธโ2์ง(์ธ์ฝ๋)๊ณผ 2์งโํ ์คํธ(๋์ฝ๋) ์ ํ.
- ๊ตฌ๋ถ์ ์ค์ (์ธ์ฝ๋๋ง) โ "๋ฐ์ดํธ ์ฌ์ด ๊ณต๋ฐฑ"์ผ๋ก ์ฝ๊ธฐ ์ฌ์ด ์ถ๋ ฅ, "๊ตฌ๋ถ์ ์์"์ผ๋ก ์ฐ์ ๋ฌธ์์ด ์ ํ.
- ์ ๋ ฅ โ ์ธ์ฝ๋: ํ ์คํธ ์ ๋ ฅยท๋ถ์ฌ๋ฃ๊ธฐ. ๋์ฝ๋: 2์ง ๋ฌธ์์ด(0๊ณผ 1, ๊ณต๋ฐฑ ๋ฌด์) ๋ถ์ฌ๋ฃ๊ธฐ.
- ์ถ๋ ฅ ํ์ธ โ ๋ณํ ํด๋ฆญ ํ ๊ฒฐ๊ณผ ํ์. ์๋ชป๋ 2์ง์ ์ค๋ฅ๋ก ํ์๋ฉ๋๋ค.
- ๋ณต์ฌ โ ๋ณต์ฌ ๋ฒํผ์ผ๋ก ์ถ๋ ฅ์ ํด๋ฆฝ๋ณด๋์ ๋ณต์ฌํ์ธ์.
3. ์๋ ๋ฐฉ์
์ธ์ฝ๋: ์
๋ ฅ์ TextEncoder๋ก UTF-8 ์ธ์ฝ๋ํ ๋ค ๊ฐ ๋ฐ์ดํธ๋ฅผ 8๋นํธ 2์ง ๋ฌธ์์ด(0 ํจ๋ฉ)๋ก ๋ณํ. ๋ฐ์ดํธ๋ ๊ณต๋ฐฑ ์์ด/์์ด ํฉ์นฉ๋๋ค. ๋์ฝ๋: ์
๋ ฅ์์ ๊ณต๋ฐฑ์ ์ ๊ฑฐํ๊ณ 0๊ณผ 1๋ง ์์ด์ผ ํฉ๋๋ค. ๋ฌธ์์ด์ 8๋นํธ ๊ทธ๋ฃน์ผ๋ก ๋๋๊ณ ๋ฐ์ดํธ๋ก ๋ณํํ ๋ค TextDecoder๋ก UTF-8 ๋์ฝ๋. ์๋ชป๋ 2์ง์ ์ค๋ฅ๋ฅผ ๋ฐํํฉ๋๋ค. ๋ชจ๋ ์ฐ์ฐ์ ๋ธ๋ผ์ฐ์ ์์๋ง ์ด๋ฃจ์ด์ง๋ฉฐ ์๋ฒ๋ก ๋ฐ์ดํฐ๊ฐ ์ ์ก๋์ง ์์ต๋๋ค.
4. ์ฌ์ฉ ์ฌ๋ก ๋ฐ ์์
- ํ์ต โ ํ ์คํธ๊ฐ 2์ง์ผ๋ก ์ด๋ป๊ฒ ํํ๋๋์ง ์ดํด.
- ์ธ์ฝ๋ฉ โ ์ ์ก์ฉ ๋ฉ์์งยท๋ฐ์ดํฐ ์ธ์ฝ๋.
- ๋๋ฒ๊น โ ๋ฌธ์์ด์ ๋ฐ์ดํธ ๋จ์ ํํ ํ์ธ.
- ๊ต์ก โ ASCII/UTF-8๊ณผ 2์ง ํํ ์ค๋ช .
์์
Hello์ธ์ฝ๋ โ01001000 01100101 01101100 01101100 01101111(๊ณต๋ฐฑ ์์)01001000 01100101 01101100 01101100 01101111๋์ฝ๋ โHello
5. ์ ํ ์ฌํญ ๋ฐ ์๋ ค์ง ์ ์ฝ
- ์ ๋ ฅ ํฌ๊ธฐ โ ๋ธ๋ผ์ฐ์ ์ง์ฐ ๋ฐฉ์ง๋ฅผ ์ํด ์ต๋ ์ฝ 500KB(512,000์).
- ์ธ์ฝ๋ฉ โ UTF-8๋ง ์ง์, Latin-1 ๋ฑ ๋ค๋ฅธ ์ธ์ฝ๋ฉ ๋ฏธ์ง์.
- 2์ง ํ์ โ ๋ฐ์ดํธ๋น 8๋นํธ, UTF-8 ๋ฉํฐ๋ฐ์ดํธ ์ํ์ค๋ ๋ฐ์ดํธ ๋จ์๋ก ํํ๋ฉ๋๋ค.
- ๋น ๋์ฝ๋ โ ๋์ฝ๋ ๋ชจ๋์์ ๋น ์ ๋ ฅ์ ์ค๋ฅ๋ฅผ ๋ฐํํฉ๋๋ค.