-
FORENSICS ์์ํ๊ธฐ - ๊ธฐ์ด ๊ฐ๋ 02 :: ์ธ์ฝ๋ฉ์ด๋? ASCII, Hex, URL, Base 64, ์ ๋์ฝ๋SECURITY/FORENSICS 2020. 9. 11. 00:50
0. ์ธ์ฝ๋ฉ์ด๋?
character encoding
: ๋ฌธ์๋ค์ ์งํฉ์ ๋ถํธํํ๋ ๋ฐฉ๋ฒ. ์ฆ, ์ปดํจํฐ๊ฐ ์ด์ฉํ ์ ์๋ ์ ํธ๋ก ๋ง๋๋ ๊ฒ์ ๋งํ๋ค.
์ ๋ณด์ ํํ๋ฅผ ๋ณํ์ํด์ผ๋ก์จ ์ฒ๋ฆฌ ์๋ ํฅ์, ์ ์ฅ ๊ณต๊ฐ ์ ์ฝ์ ํ์์ ํ์คํ๋ฅผ ๋ชฉํ๋ก ํ๋ค.
์๋ฅผ ๋ค์ด, 'A' ๋ผ๋ ๊ธ์๊ฐ ๋ค์ด์ค๋ฉด ์ปดํจํฐ๋ ์ ์ฅํ ๋ (์ผ์ข ์ ๊ธฐ์ค์ ์ํด) '65' ๋ผ๊ณ ์ ์ฅํ๊ณ ์ธ์ํ๋๋ก ๋ง๋๋ ๊ฒ์ด๋ค. (A ๋ฅผ ๋ณด๊ณ 65 ๋ก ์ ์ฅํ๋ ๊ฒ์ด ์ธ์ฝ๋ฉ, ์ ์ฅ๋ 65๋ฅผ A ๋ผ๊ณ ์ถ๋ ฅํ๋ ๊ฒ์ด ๋์ฝ๋ฉ์ด๋ค.) (์ฝ๊ฒ ๋งํด '65'์ง๋ง, ์๋ฐํ ๋งํ๋ฉด 65๋ฅผ 0,1 ๋ก ์ ์ฅํ๋ ๋ฐฉ์์ด๋ค)
์ธ์ฝ๋ฉ/๋์ฝ๋ฉ์ ๋ค์ํ ๊ธฐ์ค์ด ์กด์ฌํ๋๋ฐ, ๊ทธ ๊ธฐ์ค์ ๋ฌธ์์ด ์ธํธ ๋๋ ๋ฌธ์์ ์ด๋ผ๊ณ ํ๊ณ , ๋ํ์ ์ผ๋ก ASCII, ์ ๋์ฝ๋ ๋ฑ์ด ์๋ค.
1. ASCII ์ ์๋ฆฌ ๋ฐ ์ฌ์ฉ ๋ถ์ผ
ASCII (American Standard Code for Information Interchange) ๋ ์ต์ฝ์ ๋ฌธ์ ์ฝ๋๋ก์,
๋ผํด ๋ฌธ์, ์ซ์, ๊ทธ๋ฆฌ๊ณ ๋ช๋ช ํน์ ๋ฌธ์๋ฅผ 128๊ฐ(2^7)์ ์ฝ๋๊ฐ์ 1:1 ๋์์ํค๋ ๋ฐฉ๋ฒ์ด๋ค.
(0x00 ๋ถํฐ 0x7F ๊น์ง)
ASCII ์๋ ์ ์ด ๋ฌธ์(33๊ฐ)๊ฐ ํฌํจ๋์ด ์์ด์, ์ด๋ค์ ์ ์ธํ๋ฉด ์ฌ์ค ํ๋ฉด์ ์ถ๋ ฅ๋๋ ๋ฌธ์๋ 128 ๊ฐ๋ณด๋ค ์ ๋ค(95๊ฐ).
(์ ์ด ๋ฌธ์๋ค์ ์ญ์ฌ์ ์ธ ์ด์ ๋ก ๋จ์ ์์ผ๋ฉด ์ง๊ธ์ ๊ฑฐ์ ์ฌ์ฉํ์ง ์์)
์์คํค 7 bit + ํจ๋ฆฌํฐ ๋นํธ(parity bit) = 8 bit ๋ก ์ฌ์ฉํ์๋๋ฐ, ํจ๋ฆฌํฐ ๋นํธ์ ๊ด๋ จํ ์ทจ์ฝ์ ๋๋ฌธ์ ๊ณง ์ฐ์ด์ง ์๊ฒ ๋์๋ค.
๋์ค์ ์ปดํจํฐ๊ฐ 8 bit = 1 byte ๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด์ ๊ธฐ์กด 7 bit ๋ฅผ ์ ์งํ๋ ๋ฐฉ์๊ณผ ์์ 0 ์ ๋ถ์ฌ์ 8 bit ๋ก ์ธ์ฝ๋ฉํ๋ ๋ฐฉ์์ด ์๊ฒจ๋ฌ๋ค. (-> ํ์คํ ํ์์ฑ..)
์ด๋ฆ์์ ์ ์ ์๋ฏ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๋ณด ๊ตํ๊ณผ ์๋ฌ ๊ฒ์ถ์ ์ํ ๊ท๊ฒฉ์ด์์ง๋ง ๋ผํด ๋ฌธ์๋ฅผ ์ฌ์ฉํ์ง ์์ ์ง์ญ์์๋ ์ฌ์ฉํ ์ ์์๋ค.
๊ทธ๋๋ ์๋ฌธ ์ํ๋ฒณ์ ์ฌ์ฉํ๋ ๋ํ์ ์ธ ๋ฌธ์ ์ธ์ฝ๋ฉ ๋ฐฉ์์ด๋ผ ์ปดํจํฐ์ ํต์ ์ฅ๋น๋ฅผ ๋น๋กฏํ ๋ฌธ์๋ฅผ ์ฌ์ฉํ๋ ๋ง์ ์ฅ์น์์ ์ฌ์ฉ๋๊ณ ์์ผ๋ฉฐ, ๋๋ถ๋ถ์ ๋ฌธ์ ์ธ์ฝ๋ฉ์ด ์์คํค์ ๊ธฐ์ด๋ฅผ ๋๊ณ ์๋ค.
2. Hex ์ ์๋ฆฌ ๋ฐ ์ฌ์ฉ ๋ถ์ผ
Hexadecimal ์ 16 ์ ๋ฐ์ผ๋ก ํ๋ ๊ธฐ์๋ฒ์ด๋ค.
0~9 ์ A~F ๋ฅผ ์ฌ์ฉํ๊ณ , ๋์๋ฌธ์๋ ๊ตฌ๋ณํ์ง ์๋๋ค. (์ฆ, 1 ์ 1, 10 ์ A, 15 ์ F)
์ปดํจํฐ์์ ์ด์ง์๋ฅผ ๋์ ํด ๋ง์ด ์ฐ์ด๊ณ ์๋๋ฐ, 16 ์ง์ ์๋ฆฟ์ ํ๋๊ฐ 2^4 ์ ํํํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ฆ, ์๋ฆฟ์ 2๊ฐ๋ฉด 2^8๋ก 1 byte ์ด๊ธฐ ๋๋ฌธ!
ex. 1000(2) == 8(16) / 0011(2) == 3(16)
์์คํค ์ฝ๋์ hex ๋ฐฉ์์ ์ด์ฉํ์ฌ ๋ฌธ์๋ฅผ ์ธ์ฝ๋ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
e == 65(16) / x == 78(16) / y == 79(16)
(๋ค๋ฅธ ๋ฌธ์๋ค์ ๋ํ hex ํ๋ค๋ ์๋ค.)
hex ํํ์ ํนํ ์์ ์ฝ๋์ ๋ง์ด ์ฌ์ฉ๋๋ค. : ํฅ์ฌ ์ฝ๋
ํฅ์ฌ ์ฝ๋๋ RGB ๋ฐฉ์์ ์์ ์ฝ๋ ํ๊ธฐ๋ฒ์ผ๋ก, # ๋ค์ ๋ถ๋ ์ฌ์ฏ ์๋ฆฌ์ ์ซ์๋ก ์์์ ํํํ๋ ๋ฐฉ์์ด๋ค.
๋ ์๋ฆฌ์ฉ ๊ฐ๊ฐ Red, Green, Blue ์ ๊ฐ๋๋ฅผ 256(2^8) ๋จ๊ณ์ ๊ฑธ์ณ ๋ํ๋ธ ๊ฒ์ด๋ฉฐ
๊ฐ ๋ ์๋ฆฌ๋ 16์ง์, hex ๋ฅผ ๋ํ๋ธ๋ค. 00 == 0(16), FF == 255(16)
(ํฅ์ค ์ฝ๋๋ก ๋ํ๋ผ ์ ์๋ ์์์ ์๋ ์ด 16^6=16,777,216๊ฐ์ง์ด๋ค.)
๋ ์ฃผ๋ก URL ์์ ๋ง์ด ์ฌ์ฉํจ~
๋จ์ ์ ๊ณต๊ฐ ํจ์จ์ฑ ! bit ์์์ ๊ณต๊ฐ ํจ์จ์ฑ์ด 50% ์ ๋..... ๊ทธ๋์ ํ๋์จ์ด์ ์ผ๋ก๋ง ์ฐ๊ณ ๋ณ๋ก ์์ฐ๋๋ฏ.
base 32 ๋ base 64 ๋ 63%~75% ์ธ๋ฐ...
3. URL ์ ์๋ฆฌ ๋ฐ ์ฌ์ฉ ๋ถ์ผ
URL (Uniform Resource Locators) ์ ์น์์ ์ ํด์ง ์์์ ์ฃผ์์ด๋ค. (๋คํธ์ํฌ ์์์ ์ด๋ ์๋์ง ์๋ ค์ฃผ๊ธฐ ์ํจ)
์ด๋ก ์ ์ผ๋ก ๊ฐ๊ฐ์ ์ ์ผํ URL ์ ์ ์ผํ ์์์ ๊ฐ๋ฆฌํจ๋ค.
(์์ธ: ๋ ์ด์ ์กด์ฌํ์ง ์๋ ์์ or ์ฎ๊ฒจ์ง ์์)
URL ๋ ์ธ์ฝ๋ฉ์ ํ๋๋ฐ, URL ์ด ์์คํค ์ฝ๋๋ก ์ด๋ฃจ์ด์ ธ์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋ ์ง ์๊ฒ ์ ์กํ ๊ฒฝ์ฐ์ (๋ธ๋ผ์ฐ์ ์ ํน์ฑ์ ๋ฐ๋ผ) ? & / ๊ณต๋ฐฑ๋ฌธ์ ๋ฑ์ ํน์ ๋ฌธ์๋ค์ด ์๋์น ์๊ฒ ๋ณํ๋ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ํ URL ์์ ์ฌ์ฉํ๋ ๋ฌธ์๋ค(% # ๋ฑ ์์ฝ ๋ฌธ์. ๋ฌธ๋ฒ์ ์๋ฏธ๋ฅผ ๊ฐ์ง๋ค) ๊ณผ ๊ตฌ๋ถํด์ฃผ๊ธฐ ์ํด์ ๊ด๋ จ ํน์๋ฌธ์๋ค์ ๊ผญ ์ธ์ฝ๋ฉ์ ํด์ผ ํ๋ค.
URL ์ธ์ฝ๋ฉ ๋ฐฉ์์ Percent-encoding ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค.
: URL ํน์ URL ์ ๋ฌธ์๋ฅผ ํํํ๋ ์ธ์ฝ๋ฉ ๋ฐฉ์. RFC 3986 ์ ๋ฐ๋ผ ๋ฌธ์๋ค์ 16์ง์ ๊ฐ์ผ๋ก ์ฝ๋ฉํ๋ ๋ฐฉ์์ด๋ค.
์ฆ, ์์คํค์ฝ๋๋ฅผ ์ ์ธํ ๋ฌธ์๋ % ์ 16์ง์ ๋ฌธ์๋ฅผ ์กฐํฉํด ์ธ์ฝ๋ฉํ๋ ๊ฒ์ด๋ค. (->: ์ด์ค์ผ์ดํ(escape) ์ฒ๋ฆฌ๋ URL)
์ด ๋ URL ์ ๊ณต๋ฐฑ ๋ฌธ์๋ ํ์ฉ๋์ง ์๊ธฐ ๋๋ฌธ์ ์ฃผ์ํด์ผ ํ๋ค.
ex. ๋์ถ world = %EB%8C%80%EC%B6%94%20world (UTF-8)
(์ผ๋ฐ์ ์ผ๋ก ๊ณต๋ฐฑ์ + ํน์ %20 ์ผ๋ก ๋ฐ๊พผ๋ค)
์ด๋ฐ์์ด๋ค..~
์ ๋ฐ ํผ์ผํธ+์ซ์๋ค์ ์กฐํฉ์ ๋งํฌ ๋ณต์ฌํด์ ์ ๋ฌํ ๋ ๋ง์ด ๋ณด์ง ์์๋๊ฐ,, ๊ทธ๋ฐ ๊ฒ์ด๋ค~
์ฌ์ฉ ๋ถ์ผ๋ ๋ง ๊ทธ๋๋ก URL ์์ ์ฌ์ฉ๋๋ค.
4. Base64 ์ ์๋ฆฌ ๋ฐ ์ฌ์ฉ ๋ถ์ผ
: 8๋นํธ ์ด์ง ๋ฐ์ดํฐ๋ฅผ ๋ฌธ์ ์ฝ๋์ ์ํฅ์ ๋ฐ์ง ์๋ ๊ณตํต ASCII ์์ญ์ ๋ฌธ์๋ค๋ก๋ง ์ด๋ฃจ์ด์ง ์ผ๋ จ์ ๋ฌธ์์ด๋ก ๋ฐ๊พธ๋ ์ธ์ฝ๋ฉ ๋ฐฉ์์ด๋ค.
Base 64, 64 ์ง๋ฒ์ด๋ผ๋ ๋ง ๊ทธ๋๋ก ASCII ๋ฌธ์๋ก ํํํ ์ ์๋ ์ต๋์ ์ง๋ฒ์ด๋ผ ๋ง์ด ์ฌ์ฉํ๋ค. (ACSII ์ ์ค์ฌ์ฉ ๋ฌธ์๋ 128๊ฐ๋ณด๋ค ์์)
(64 = 2^6 ์ผ๋ก, 2์ ์ ๊ณฑ์๋ค์ ๊ธฐ๋ฐํ ์ง๋ฒ๋ค ์ค์ ASCII ๋ฅผ ํํํ ์ ์๋ ๊ฐ์ฅ ํฐ ์ง๋ฒ.)
์ด๋ค ๋ฌธ์์ ๊ธฐํธ๋ฅผ ์ฐ๋๋์ ๋ฐ๋ผ ์ฌ๋ฌ ๋ณ์ข ์ด ์์ผ๋,
๋ณดํต ์ฒ์ 62๊ฐ๋ A-Z, a-z, 0-9 ๋ฅผ ์ฌ์ฉํ๊ณ ๋ง์ง๋ง ๋ ๊ฐ์ ์ด๋ค ๊ธฐํธ๋ฅผ ์ฐ๋๋์ ์ฐจ์ด๋ง ์๋ค.
์ฌ์ฉ ๋ถ์ผ๋ ์ ์ ๋ฉ์ผ์ ํตํ ์ด์ง ๋ฐ์ดํฐ ์ ์ก.
์ฆ, ์ ๋ขฐํ ์ ์๋ ํต์ ์์ ์ด์ง ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ์ ์กํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ค.
Base 64 ๋ก ์ธ์ฝ๋ฉํ๋ฉด ์ ์กํด์ผ ํ ๋ฐ์ดํฐ์ ์์ด ์ฝ 33% ์ ๋ ๋์ง๋ง (6bit ๋น 2bit์ overhead ๋ฐ์) ,
ASCII ๋ก ์ธ์ฝ๋ฉํ์ฌ ์ ๋ฌํ๋ฉด ์ฌ๋ฌ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ASCII ์ค ์ผ๋ถ ๋ฌธ์๋ฅผ ์ ์ธํ, 64๊ฐ์ ์์ ํ ์ถ๋ ฅ ๋ฌธ์๋ง ์ฌ์ฉํ๋ Base 64 ๋ฅผ ์ด์ฉํ๋ ๊ฒ์ด๋ค.
(ASCII ๋ 7bit ์ธ์ฝ๋ฉ์ด๋ผ ๋๋จธ์ง 1 bit ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ด ์์คํ ๋ง๋ค ๋ค๋ฅด๊ณ , ์ผ๋ถ ์ ์ด ๋ฌธ์์ ๊ฒฝ์ฐ์๋ ์์คํ ๋ณ๋ก ๋ค๋ฅธ ์ฝ๋ ๊ฐ์ ๊ฐ์ ธ์ ๋ฐ์ดํฐ๊ฐ ์๊ณก๋ ์ฌ์ง๊ฐ ์๊ธฐ ๋๋ฌธ)
Base 64 ์ธ์ฝ๋ฉ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
1) ์ธ์ฝ๋ฉํ ๋ฌธ์๋ฅผ ASCII binary ๋ก ๋ฐ๊พผ๋ค.
2) 6 bit ์ฉ ์๋ฅธ๋ค.
3) ๊ฐ 6 bit ์ ํด๋นํ๋ ๋ฌธ์๋ฅผ base 64 ์์ธํ์์ ์ฐพ์์ ์นํํ๋ค.
4) ๋ง์ผ ๋ฑ ์๋ผ ๋์ด์ง์ง ์๊ณ ๋น์๋ฆฌ๊ฐ ์๊ธฐ๋ฉด Padding ๊ณผ์ ์ ๊ฑฐ์น๋ค.
์์ ํจ๊ป ์ดํด๋ณด์.
YES ๋ผ๋ ๋ฌธ์์ด์ Base 64 ๋ก ์ธ์ฝ๋ฉํ๋ ๊ณผ์ ์ด๋ค. (์์ธ์ ์์ ์์ธํ๋ฅผ ์ฌ์ฉ)
๋ฌธ์์ด Y E S ASCII ๊ฐ (binary) 01011001 01000101 01010011 6 bit ๋ฌถ์ 010110 010100 010101 010011 10 ์ง์ ๋ณํ (ํธ์) 22 20 21 19 base 64 W U V T ๋ฐ๋ผ์ ๋ณํํ ๊ฐ์ WUVT
์ด ๊ณผ์ ์์๋ ๋ํ๋์ง ์์ง๋ง, ๋ง์ผ ๋จ์ ๋ฐ์ดํธ๊ฐ 3 byte ๋ฏธ๋ง์ด๋ผ๋ฉด ๋ฒํผ์ ๋จ์ ๋ถ๋ถ์ Padding bit (0) ์ ์ถ๊ฐํ์ฌ = ๋ฌธ์๋ก ๋์ ํ๋ค.
์ด๋ ๋นํธ์๋ฅผ ๋ง์ถฐ ์๋ณธ์ ์๋ ๋นํธ๊ฐ ์๊ธฐ๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํจ์ด๋ค.
(์ฐธ๊ณ - ifuwanna.tistory.com/72)
5. ์ ๋์ฝ๋์ ์๋ฆฌ ๋ฐ ์ฌ์ฉ ๋ถ์ผ
์ ๋์ฝ๋(Unicode) ๋ ์ ์ธ๊ณ์ ๋ชจ๋ ๋ฌธ์๋ฅผ ์ปดํจํฐ์์ ํํํ ์ ์๋๋ก ์ค๊ณ๋ ์ฐ์ ํ์ค์ด๋ฉฐ, ์ ๋์ฝ๋ ํํ(Unicode Consortium) ๊ฐ ์ ์ ํ๋ค.
--> ์ฝ๊ฒ ๋งํ๋ฉด ๊ตญ์ ํ์ค ๋ฌธ์ํ์ด๋ค.
ํ์กดํ๋ ๋ฌธ์ ์ธ์ฝ๋ฉ ๋ฐฉ๋ฒ์ ์ ๋์ฝ๋๋ก ํ์คํ์ํค๋ ค๋ ๋ชฉ์ ์ ๋ง๊ฒ, ๋ค์ํ ๋ฌธ์ ์งํฉ๋ค์ ํตํฉํ๋ ๋ฐ ์ฑ๊ณตํ๊ณ ์๋ค.
(์ ๋์ฝ๋๋ ์ ๋์ฝ๋ ๋ณํ ํ์(Unicode Transformation Format, UTF) ์ธ์ฝ๋ฉ๊ณผ ๊ตญ์ ๋ฌธ์ ์ธํธ(Universal Coded Character Set, UCS) ์ธ์ฝ๋ฉ์ ๋ ๊ฐ์ง ๋งคํ ๋ฐฉ์์ด ์๋ค.)
์ ๋์ฝ๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ธ์์ ์ฝ๋๊ฐ 1:1 ๋งคํ๋๋ ๋ฌธ์ ์ฝ๋, ์ฆ ์ฝ๋ํ์ด๋ค.
(์ ๋์ฝ๋ ์์ญ - ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C_%EC%98%81%EC%97%AD)
(์ ๋์ฝ๋ - ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C_0000~0FFF)
์ด๋ ๊ฒ ์ ๋์ฝ๋๋ก ์ ์๋ ์ฝ๋ํ๋ก ์ธ์ฝ๋ฉ์ ํด์ผ ํ๋๋ฐ ๊ทธ ๋ฐฉ์์ ๋ฐ๋ผ ๋ง์ ์ข ๋ฅ๊ฐ ์๋ค.
๊ทธ ์ค ๊ฐ์ฅ ๋ณดํธ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์ธ์ฝ๋ฉ ๋ฐฉ์์ UTF-8 ์ด๋ค.
5.1 UTF-8
: ์ ๋์ฝ๋๋ฅผ ์ํ ๊ฐ๋ณ ๊ธธ์ด ๋ฌธ์ ์ธ์ฝ๋ฉ ๋ฐฉ์ ์ค ํ๋๋ก, Unicode Transformation Format - 8 bit ์ ์ฝ์์ด๋ค.
(Universal Coded Character Set + Transformation Format - 8 bit)
'๊ฐ๋ณ' ์ด๋ผ๋ ๊ฒ์, ์ ๋์ฝ๋์ ๋ฐ๋ผ ํ ๋ฌธ์๋ฅผ ๋ํ๋ด๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ค๋ฅด๋ค (1byte ~ 4byte) ๋ ๊ฒ์ด๋ค.
์ด๋ฅผ ๊ตฌ๋ณํ๋ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ๋ค.
๋จผ์ 7 bit ์ด๋ด์ ์ฝ๋ ๊ฐ์๋ ์์ 0์ ๋ถ์ธ๋ค. (์์คํค ์ฝ๋์ ํด๋นํ๋ 0~127๋ฒ ๋ฌธ์๊น์ง)
2 byte ๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ์ฒซ ๋ฐ์ดํธ๋ 110์ผ๋ก ์์ํ๊ณ , ๋ค์ ๋ฐ์ดํธ๋ ์๊ณผ ์ด์ด์ง๋ค๋ ๊ฒ์ ์๋ฏธํ๋ 10์ผ๋ก ์์ํ๋ค.
3 byte ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ ๊ฐ์ ์๋ฆฌ๋ก, ์ฒซ ๋ฐ์ดํธ๋ 1110์ผ๋ก ์์ํ์ฌ ๋๋จธ์ง ๋ ๋ฐ์ดํธ๋ 10 ์ผ๋ก ์์ํ๋ค.
์ฝ๋๊ฐ ์๋ฆฟ์ ๋ฒ์ ์ฒซ ๋ฒ์งธ byte ๋ ๋ฒ์งธ byte ์ธ ๋ฒ์งธ byte ๋ค ๋ฒ์งธ byte ~7 bit 0 ~ 0x7F 0xxxxxxx ~ 11 bit 0x80 ~ 0x7FF 110xxxxx 10xxxxxx ~ 16 bit 0x800 ~ 0xFFFF 1110xxxx 10xxxxxx 10xxxxxx ~ 21 bit 0x10000 ~ 0x1FFFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx (x ์ ๊ฐ์๋ค์ ์ธ๋ณด๋ฉด ์ฝ๋๊ฐ์ ์๋ฆฟ์์ ๋์ผํจ์ ์ ์ ์๋ค.)
(ํ๊ธ ์๋ชจ๋ U+1100..U+11FF ์ด๋ฏ๋ก 3 byte ๊ฐ ํ์ํ๋ค.)
(๋ ์์ธํ๊ฒ ์๊ณ ์ถ๋ค๋ฉด namu.wiki/w/UTF-8 ์ ์ธ์ฝ๋ฉ ๋ถ๋ถ ์ฐธ๊ณ )
๋ง์ง๋ง์ผ๋ก, ๋ณํํ๊ณ ์ธ์ฝ๋ฉํ๋ ์ ์ฉํ ์ฌ์ดํธ ๋ช ๊ฐ๋ฅผ ๊ฑธ๊ณ ๋๋ด๊ฒ ๋ค.
hex, dec, bin converter : www.rapidtables.com/convert/number/hex-to-binary.html?x=1103
string convrsion : coderstoolbox.net/string/#!encoding=base64&action=encode&charset=utf_8
UTF-8 encoder/decoder : mothereff.in/utf-8
'SECURITY > FORENSICS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ