ํ ์คํธ ์ด์ง์ ๋ณํ๊ธฐ๋?
์ด ๋๊ตฌ๋ ASCII(American Standard Code for Information Interchange, ๋ฏธ๊ตญ ์ ๋ณด ๊ตํ ํ์ค ๋ถํธ) ํ์ค์ ์ฌ์ฉํด ์ผ๋ฐ ํ ์คํธ๋ฅผ ์ด์ง์๋ก ๋ฐ๊ฟ ์ค๋๋ค. ๊ธฐ๋ณธ ASCII์์๋ ํค๋ณด๋์ ๋ชจ๋ ๋ฌธ์๊ฐ 0๋ถํฐ 127 ์ฌ์ด์ ์ซ์์ ๋์ํฉ๋๋ค. ๋ณํ๊ธฐ๋ ๊ฐ ๋ฌธ์๋ฅผ ๋ฐ์ ํด๋น ASCII ์ฝ๋๋ฅผ ์ฐพ๊ณ , ๊ทธ ๊ฐ์ 2์ง์๋ก ๋ณํํ ๋ค์, ์ ํํ 8๋นํธ(1๋ฐ์ดํธ)๊ฐ ๋๋๋ก ์๋ฆฟ์๋ฅผ ์ฑ์๋๋ค. ๊ทธ ๊ฒฐ๊ณผ๋ ์ปดํจํฐ๊ฐ ๋ด๋ถ์ ์ผ๋ก ์ ์ฅํ๊ณ ์ ์กํ๋ ์ด์ง์์ ๋์ผํฉ๋๋ค.
์ฌ์ฉ ๋ฐฉ๋ฒ
์ ๋ ฅ๋์ ์ํ๋ ํ ์คํธ๋ฅผ ์ ๋ ฅํ๊ฑฐ๋ ๋ถ์ฌ๋ฃ์ ๋ค ์คํํ์ธ์. ๊ฒฐ๊ณผ๋ ์ธ ๊ฐ์ง ํํ๋ก ํ์๋ฉ๋๋ค. 8๋นํธ ๋ฐ์ดํธ ๋จ์๋ก ๋์ด ๋ณด์ฌ ์ฃผ๋ ์ด์ง์(๊ฐ์ฅ ์ฝ๊ธฐ ์ฌ์), ๋์ด์ฐ๊ธฐ ์์ด ์ด์ด์ง ์ฐ์ ์ด์ง ์คํธ๋ฆผ, ๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ฐํ์ด ๋๋ 10์ง์ ASCII ์ฝ๋์ ๋๋ค. ASCII๋ ๊ตญ์ ์ปดํจํ ํ์ค์ด๋ฏ๋ก ์ด ๋ณํ์ ํน์ ๊ตญ๊ฐ๋ ์ง์ญ์ ์ฝ๋งค์ด์ง ์๊ณ ์ด๋์๋ ํต์ฉ๋ฉ๋๋ค.
๊ณต์ ์ค๋ช
๊ฐ ๋ฌธ์ c์ ๋ํด ASCII(c) ๊ฐ์ ๊ตฌํ๊ณ , ์ด๋ฅผ 2์ง์๋ก ํํํ ๋ค์, 8์๋ฆฌ๊ฐ ๋ ๋๊น์ง ์ผ์ชฝ์ 0์ผ๋ก ์ฑ์๋๋ค.
$$\text{Binary} = \bigl\Vert_{i=1}^{n}\ \operatorname{pad}_{8}\!\left(\operatorname{bin}\!\left(\operatorname{ASCII}\!\left(\text{Text}_{i}\right)\right)\right)$$
์๋ฅผ ๋ค์ด ๋ฌธ์ "A"์ ASCII ์ฝ๋๋ 65์ ๋๋ค. 65๋ฅผ 2์ง์๋ก ๋ํ๋ด๋ฉด 1000001๋ก 7์๋ฆฌ์ด๋ฏ๋ก, ์์ 0์ ์ฑ์ 01000001๋ก ๋ง๋ญ๋๋ค. ๋ชจ๋ ๋ฌธ์์ ๋ฐ์ดํธ๋ฅผ ์ด์ด ๋ถ์ด๋ฉด ์ ์ฒด ์ด์ง ๋ฌธ์์ด์ด ์์ฑ๋ฉ๋๋ค.
์์ ๋ก ์ดํด๋ณด๊ธฐ
"Hi"๋ผ๋ ๋จ์ด๋ฅผ ๋ณํํด ๋ด
์๋ค. "H" = ASCII 72 = 1001000, "i" = ASCII 105 = 1101001์
๋๋ค. ๊ฐ๊ฐ 8๋นํธ๋ก ์ฑ์ฐ๋ฉด \(01001000\)๊ณผ \(01101001\)์ด ๋ฉ๋๋ค. ๋์ด์ฐ๊ธฐ ํํ์ ๊ฒฐ๊ณผ๋ 01001000 01101001์ด๊ณ , ์ฐ์ ํํ์ ๊ฒฐ๊ณผ๋ 0100100001101001์
๋๋ค.
ASCII ๋ฌธ์์์ ์ด์ง๋ฒ์ผ๋ก์ ์ฐธ์กฐ ํ
ํ์ค ํค๋ณด๋์ ๋ชจ๋ ๋ฌธ์๋ 0๋ถํฐ 127๊น์ง์ ASCII ์ญ์ง ์ฝ๋์ ๋งคํ๋๋ฉฐ, ์ด ์ฝ๋๋ 8๋นํธ ๋ฐ์ดํธ๋ก ์ด์ง๋ฒ์ผ๋ก ์ ์ฅ๋ฉ๋๋ค. ์๋ ํ๋ ์ญ์ง ์ฝ๋์ ํจ๋ฉ๋ 8๋นํธ ์ด์ง๊ฐ์ด ํฌํจ๋ ์ผ๋ฐ์ ์ธ ์ธ์ ๊ฐ๋ฅ ๋ฌธ์๋ฅผ ๋์ดํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ฌธ์ A๋ ์ญ์ง๋ฒ์ผ๋ก 65์ด๊ณ , ์ด์ง๋ฒ์ผ๋ก๋ 01000001์ ๋๋ค.
| ๋ฌธ์ | ์ญ์ง๋ฒ (ASCII) | 8๋นํธ ์ด์ง๋ฒ |
|---|---|---|
| (๊ณต๋ฐฑ) | 32 | 00100000 |
| ! | 33 | 00100001 |
| " | 34 | 00100010 |
| # | 35 | 00100011 |
| $ | 36 | 00100100 |
| % | 37 | 00100101 |
| & | 38 | 00100110 |
| ' | 39 | 00100111 |
| ( | 40 | 00101000 |
| ) | 41 | 00101001 |
| * | 42 | 00101010 |
| + | 43 | 00101011 |
| , | 44 | 00101100 |
| - | 45 | 00101101 |
| . | 46 | 00101110 |
| / | 47 | 00101111 |
| 0 | 48 | 00110000 |
| 1 | 49 | 00110001 |
| 2 | 50 | 00110010 |
| 3 | 51 | 00110011 |
| 4 | 52 | 00110100 |
| 5 | 53 | 00110101 |
| 6 | 54 | 00110110 |
| 7 | 55 | 00110111 |
| 8 | 56 | 00111000 |
| 9 | 57 | 00111001 |
| : | 58 | 00111010 |
| ; | 59 | 00111011 |
| ? | 63 | 00111111 |
| @ | 64 | 01000000 |
| A | 65 | 01000001 |
| B | 66 | 01000010 |
| C | 67 | 01000011 |
| M | 77 | 01001101 |
| Z | 90 | 01011010 |
| a | 97 | 01100001 |
| b | 98 | 01100010 |
| c | 99 | 01100011 |
| m | 109 | 01101101 |
| z | 122 | 01111010 |
์ ์ฒด ๋จ์ด๋ฅผ ํ์ธํ๋ ค๋ฉด ํ ์คํธ Hi๋ 01001000 01101001์ด ๋ฉ๋๋ค.
ํ ์คํธ๋ฅผ ์ด์ง๋ฒ์ผ๋ก ์๋์ผ๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ
ํ ์คํธ๋ฅผ ์ด์ง๋ฒ์ผ๋ก ๋ณํํ๋ ๊ฒ์ ๊ฐ ๋ฌธ์๋ฅผ 8๋นํธ ASCII ํํ์ผ๋ก ๋ณํํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๋ฌธ์์ด์ ๋ชจ๋ ๋ฌธ์์ ๋ํด ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ ์์๋๋ก ์ด ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์.
- ํ ๋ฒ์ ํ ๋ฌธ์์ฉ ์์ ํ์ธ์. ํ ์คํธ๋ฅผ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ์์ ํฉ๋๋ค. ๊ฐ ๋ฌธ์๋ ๋ ๋ฆฝ์ ์ผ๋ก ๋ณํ๋ ํ ๊ฒฐ๊ณผ๊ฐ ๊ฒฐํฉ๋ฉ๋๋ค.
- ASCII ์ญ์ง ์ฝ๋๋ฅผ ์ฐพ์ผ์ธ์. ASCII ํ์์ ๋ฌธ์๋ฅผ ์ฐพ์๋ณด์ธ์. ์๋ฅผ ๋ค์ด, ๋๋ฌธ์ K๋ ์ญ์ง ์ฝ๋ 75๋ฅผ ๊ฐ์ต๋๋ค.
- 2๋ก ๋ฐ๋ณต ๋๋๊ธฐ๋ก ์ญ์ง๋ฒ์ 2์ง๋ฒ์ผ๋ก ๋ณํํ์ธ์. ์ซ์๋ฅผ 2๋ก ๋๋๊ณ ๋๋จธ์ง๋ฅผ ๊ธฐ๋กํ ํ, ๋ชซ์ด 0์ ๋๋ฌํ ๋๊น์ง ๋ฐ๋ณตํ์ธ์. ๋๋จธ์ง๋ฅผ ์๋์์ ์๋ก ์ฝ์ผ์ธ์.
75์ ๊ฒฝ์ฐ: 75 รท 2 = 37 r 1; 37 รท 2 = 18 r 1; 18 รท 2 = 9 r 0; 9 รท 2 = 4 r 1; 4 รท 2 = 2 r 0; 2 รท 2 = 1 r 0; 1 รท 2 = 0 r 1. ๋๋จธ์ง๋ฅผ ์๋ก ์ฝ์ผ๋ฉด 1001011์ด ๋ฉ๋๋ค. - ์ผ์ชฝ์ 0์ ํจ๋ฉํ์ฌ 8๋นํธ๋ก ๋ง๋์ธ์. ๋ฐ์ดํธ๋ ํญ์ 8๋นํธ์ด๋ฏ๋ก ์์ 0์ ๋ถ์ ๋๋ค: 1001011์ 01001011์ด ๋ฉ๋๋ค.
- ๋ฐ์ดํธ๋ฅผ ์์๋๋ก ์ฐ๊ฒฐํ์ธ์. ๋ชจ๋ 8๋นํธ ๊ทธ๋ฃน์ ๊ฒฐํฉํฉ๋๋ค. ์ฐ์ ์ถ๋ ฅ์ ๊ฒฝ์ฐ ๊ฐ๊ฒฉ ์์ด ์์ฑํ๊ณ , ์ฝ๊ธฐ ์ฌ์ด ์ถ๋ ฅ์ ๊ฒฝ์ฐ ๊ฐ ๋ฐ์ดํธ ์ฌ์ด์ ํ๋์ ๊ณต๋ฐฑ์ ์ฝ์ ํ์ธ์.
"Hey" ๋จ์ด์ ์ค์ ์์:
- H = 72 = 01001000
- e = 101 = 01100101
- y = 121 = 01111001
๊ณต๋ฐฑ์ด ์๋ ๊ฒฐ๊ณผ: 01001000 01100101 01111001. ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ๋จ์ผ ๋ฐ์ดํธ๋ฅผ ํ์ธํ๋ ค๋ฉด, ์ด์ง๋ฒ 01001000์ ์ญ์ง๋ฒ 72๋ก ๋ณํ๋๋ฉฐ, ์ด๋ H์ ASCII ์ฝ๋์ ๋๋ค.
ํต์ฌ ์ฉ์ด ์ค๋ช
- ASCII
- ์ ๋ณด ๊ตํ ๋ฏธ๊ตญ ํ์ค ์ฝ๋๋ก, ๋ฌธ์, ์ซ์, ๊ตฌ๋์ ๋ฐ ์ ์ด ๋ฌธ์์ 0๋ถํฐ 127๊น์ง์ ์ซ์ ์ฝ๋๋ฅผ ํ ๋นํ๋ ๋ฌธ์ ์ธ์ฝ๋ฉ ํ์ค์ ๋๋ค.
- ๋นํธ
- ๋์งํธ ๋ฐ์ดํฐ์ ๊ฐ์ฅ ์์ ๋จ์๋ก, 0 ๋๋ 1์ ๋จ์ผ ์ด์ง ๊ฐ์ ๋ณด์ ํฉ๋๋ค.
- ๋ฐ์ดํธ
- 8๋นํธ์ ๊ทธ๋ฃน์ ๋๋ค. ํ๋์ ๋ฐ์ดํธ๋ 256๊ฐ์ ์๋ก ๋ค๋ฅธ ๊ฐ(0โ255)์ ๋ํ๋ผ ์ ์์ผ๋ฉฐ, ์ด๋ ํ์ค ๋๋ ํ์ฅ ASCII ๋ฌธ์๋ฅผ ๋ณด์ ํ๊ธฐ์ ์ถฉ๋ถํฉ๋๋ค.
- ์ด์ง๋ฒ (2์ง๋ฒ)
- 0๊ณผ 1์ ์ซ์๋ง ์ฌ์ฉํ๋ ์ซ์ ์ฒด๊ณ์ ๋๋ค. ๊ฐ ์๋ฆฌ๋ 2์ ๊ฑฐ๋ญ์ ๊ณฑ(1, 2, 4, 8, 16, โฆ)์ ๋ํ๋ด๋ฏ๋ก ๋ฐ์ดํธ 01000001์ 64 + 1 = 65์ ๋๋ค.
- 7๋นํธ ๋ 8๋นํธ
- ์๋ ASCII๋ ์ฝ๋ 0โ127์ ํฌํจํ๊ธฐ ์ํด 7๋นํธ๋ง ํ์ํฉ๋๋ค. ์ต์ ์์คํ ์์๋ ๊ฐ ๋ฌธ์๊ฐ ์ ์ฒด 8๋นํธ ๋ฐ์ดํธ์ ์ ์ฅ๋๋ฉฐ, ํ์ค ASCII ๋ฌธ์์ ๊ฒฝ์ฐ ์ถ๊ฐ ์ ๋นํธ๊ฐ 0์ผ๋ก ์ค์ ๋ฉ๋๋ค.
- ํจ๋ฉ / ์์ ์์
- ๋ชจ๋ ๋ฐ์ดํธ๊ฐ ์ ํํ 8๋นํธ ๊ธธ์ด๊ฐ ๋๋๋ก ์ด์ง์์ ์์ ์ถ๊ฐ๋ 0์ ๋๋ค. ์๋ฅผ ๋ค์ด, ์ฝ๋ 5๋ ๋จ์ง 101์ด ์๋๋ผ 00000101์ด ๋์ด ๋ชจ๋ ๋ฐ์ดํธ๋ฅผ ์ ๋ ฌ๋ ์ํ๋ก ์ ์งํฉ๋๋ค.
- ์ฐ์ ๋ ๊ณต๋ฐฑ์ด ์๋ ์ถ๋ ฅ
- ์ฐ์ ์ถ๋ ฅ์ ๋ชจ๋ ๋ฐ์ดํธ๋ฅผ ๊ตฌ๋ถ ๊ธฐํธ ์์ด ๊ฒฐํฉํฉ๋๋ค(์: 0100100001101001), ๊ณต๋ฐฑ์ด ์๋ ์ถ๋ ฅ์ ๊ฐ ๋ฐ์ดํธ ์ฌ์ด์ ๊ณต๋ฐฑ์ ์ฝ์ ํฉ๋๋ค(์: 01001000 01101001) ์ฝ๊ณ ๋์ฝ๋ฉํ๊ธฐ ์ฝ๋๋ก ํฉ๋๋ค.
- ์ญ์ง ์ฝ๋
- ASCII์์ A์ ๊ฒฝ์ฐ 65์ ๊ฐ์ ๋ฌธ์์ ํ ๋น๋ 10์ง์์ ๋๋ค. ๋ฌธ์์ ์ด์ง ํ์ ์ฌ์ด์ ์ค๊ฐ ๊ฐ์ ๋๋ค.
- ํ์ฅ ASCII (์ฝ๋ 128โ255)
- 8๋ฒ์งธ ๋นํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ผํธ ๋ฌธ์ ๋ฐ ์์ ๊ทธ๋ฆฌ๊ธฐ ๊ธฐํธ์ ๊ฐ์ ์ถ๊ฐ 128๊ฐ์ ๋ฌธ์๋ฅผ ์ถ๊ฐํ๋ ํ์ฅ์ ๋๋ค. ์ด๋ฌํ ์ธ์ฝ๋ฉ์ ์ฝ๋ ํ์ด์ง์ ๋ฐ๋ผ ๋ค๋ฅด๋ฏ๋ก ๋์ผํ ์ฝ๋๊ฐ ์์คํ ์ ์ฒด์์ ๋ค๋ฅด๊ฒ ํ์๋ ์ ์์ต๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
์ ๋ฌธ์๋น 8๋นํธ์ธ๊ฐ์? 1๋ฐ์ดํธ๋ 8๋นํธ์ด๊ณ ํ์ค ASCII๋ 7๋นํธ ์์ ๋ค์ด๊ฐ๋๋ค. ๊ทธ๋์ 8๋นํธ๋ก ์ฑ์ฐ๋ฉด ๋ชจ๋ ๋ฌธ์์ ํญ์ด ๊ฐ์์ง๊ณ , ์ค์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ๋ฐฉ์๊ณผ๋ ์ผ์นํฉ๋๋ค.
๊ณต๋ฐฑ๊ณผ ๋ฌธ์ฅ๋ถํธ๋ ์ฒ๋ฆฌํ๋์? ๋ค. ๊ณต๋ฐฑ์ ASCII 32(00100000)์ด๊ณ , ์ธ์ ๊ฐ๋ฅํ ๋ชจ๋ ๊ธฐํธ๋ ๊ฐ์์ ์ฝ๋๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์ด๋ชจ์ง๋ ์ ์ผํธ๊ฐ ์๋ ๋ฌธ์๋์? ์ฝ๋ 127์ ๋๋ ๋ฌธ์๋ ๊ธฐ๋ณธ ASCII ๋ฒ์๋ฅผ ๋ฒ์ด๋ฉ๋๋ค. ์ด ๋๊ตฌ๋ ๊ฐ ๋ฌธ์์ ์ซ์ ์ฝ๋ ๊ฐ์ ์ฌ์ฉํ๋ฏ๋ก, ํ์ค ์๋ฌธ ํ ์คํธ์์ ๊ฐ์ฅ ์ ์๋ํฉ๋๋ค.