μ»΄ν¨ν°μ μΈμ΄μ μ¬λμ μΈμ΄
π λ³Έ κΈμ ν κΆμΌλ‘ μ½λ μ»΄ν¨ν° ꡬ쑰 μ± μ μ½κ³ μ 리νμ΅λλ€.
μ°λ¦¬κ° μκ°νλ μΈμ΄λ 무μμΌκΉ?
- μΈμ΄λ μκ°μ΄λΌλ νμ²΄κ° μλ κ°λ μ λͺ¨λκ° μ΄ν΄ν μ μλ μλ‘μ΄ ν체λ₯Ό λΆμ¬νλ©°, μ΄λ₯Ό 곡μ ν μ μλ€.
- 곡μ νλ μΈμ΄λΌλ κ°λ μ ν΅ν΄μ 볡μ‘ν μκ°μ μ½κ² μ λ¬ν μ μλ€.
- μ¬νκ° κ³΅μ νλ μ½μ
- ???
λμΆ© κ΅μ΄μκ°μ λ°°μ΄ μΈμ΄λ μ΄λ° λλμ΄μλ κ² κ°λ€.
μΈμ΄λ μμ λ§ν κ²κ³Ό κ°μ΄ κΈ°νΈλ€μ μ§ν©μ ν΅ν΄μ μν΅μ ν μ μκ² ν΄μ€λ€.
νμ§λ§, 'λγ ‘γ μ £'κ³Ό κ°μ κΈ°νΈλ€μ μ§ν©μ΄ μΈμ΄μ΄μ§λ μλ€.
μΈμ΄λ κΈ°νΈλ€μ μ§ν©μ΄κΈ°λ§ ν΄μλ μλλ©° μ¬μ©νλ λΉμ¬μλ€μ΄ 곡κ°ν μ μλ λ¬Έλ§₯μ λμ΄μ νλμ κΈ°νΈμ μ§ν©μ κ°μ μλ―Έλ₯Ό λμ΄μΌ νλ€.
μμ μ μ 'λγ ‘γ μ £'κ° μμκ² μκ²Όλ€κ³ ν΄μ λ νΌμ 'μμ'λ₯Ό 'λγ ‘γ μ £'λΌκ³ λΆλ₯Ό μλ μλ€.
νκΈλ‘ μν΅νλ μ°λ¦¬μλ λ€λ₯΄κ², μ»΄ν¨ν°λ λΉνΈλΌλ μ΄μ§λ²μ μλ‘ μμλ£κ³ , λλ΅μ νλ€.
λ체 μ»΄ν¨ν°λ μ΄λ»κ² μ°λ¦¬λ μμλ€μ μ μλ 0κ³Ό 1(λΉνΈ)λ‘ μ¬λκ³Ό μν΅μ ν μ μλ μ§λ₯Ό μ΄λ² κΈμμ μμ보λλ‘ νκ² λ€.
μ«μλ μ΄λ»κ² μ μ μ μμκΉ?
μμμ μ΄μΌκΈ°ν κ²μ²λΌ μ»΄ν¨ν°λ 0κ³Ό 1λ§ λ°μλ€μΌ μ μλ€.
λν, μ°λ¦¬λ μ΄μ§μλ₯Ό μ¬μ©νλ€λ ννΈλ₯Ό μ»μμΌλ―λ‘ μ°λ¦¬κ° μ¬μ©νλ 10μ§μλ₯Ό 2μ§μλ‘ λ°κΎΈμ΄ μ λλ€λ©΄ μμλ ννμ΄ κ°λ₯ν κ² κ°λ€.
κ·Έλ λ€λ©΄ 0κ³Ό 1μ¬μ΄μ μμ μλ€, κ·Έλ¦¬κ³ μμλ μ΄λ»κ² ννν μ μμκΉ?
0κ³Ό 1μ΄λΌλ μ νλ μλ€λ‘ μ΄λ€μ ννν μ μμ κ²λ§ κ°λ€.
νμ§λ§, μ΄λ° μλ€μ ννν μ μμλ€λ©΄ μ»΄ν¨ν°λ μ°λ¦¬μ λ§μ μ°μ°λ€μ λ체ν΄μ£Όμ§ λͺ»νμ κ²μ΄λ€.
κ·Έλ λ€λ©΄ μ»΄ν¨ν°λ μ΄λ° 볡μ‘ν λ¬Έμ λ₯Ό μ΄λ»κ² ν΄κ²°νκ³ μλ μ§ μμ보μ.
μμμ νν
μ΄μ λ 곡곡μ°νκ² μλ €μ Έλ²λ¦° 21μ΅μ μ§μ€π₯²
μμ μμλ‘ ννμ νκΈ° μνμ¬ 32λΉνΈλ₯Ό μ‘λλ€κ³ κ°μ ν΄λ³΄μ.
κ·Έλ λ€λ©΄ 0κ³Ό 1μ΄ 32κ°... 2μ§μλ‘ νλ€λ©΄ μ΅λ κ°μ΄ 42μ΅μ―€..? λκ° μ΄μνλ€.
μ°λ¦¬κ° μλ 2μ§μλ‘λ λΆλͺ 32λΉνΈλΌλ©΄ 2^32 = μ½ 42μ΅μ ννν μ μμ΄μΌνλλ°,
λλ¬Όλμ₯μ ν¬μΈνΈλ μ 21μ΅λ°μ μλκ² ν΄λμμκΉ?
21μ΅λ°μ μλλ€ -> 31λΉνΈλ§ μ¬μ©νλ€ -> 1λΉνΈλ λκ³ μλ??
μ¬κΈ°μ μμ ννμ λΉλ°μ΄ μ¨μ΄μλ€. μ΅μμ 1λΉνΈλ₯Ό λΆνΈλ₯Ό μλ―Ένλ λΉνΈλ‘ μ¬μ©νλ κ²μ΄λ€.
κ·Έλμ λΆνΈκ° μλ μμ μ΅μμ λΉνΈκ° 0μ΄λΌλ©΄ μμ, 1μ΄λΌλ©΄ μμ μ΄λ° μμΌλ‘ μμλ₯Ό νννκ² λλ€.
κ·Έλμ λΆνΈκ° μλ 32λΉνΈλ 0 ~ 4294967296μ΄ μλ -2147483648 ~ 2147483647κΉμ§μ μλ₯Ό λ€λ£° μ μλ κ²μ΄λ€.
κ·Έλ λ€λ©΄ κ·Έλ₯ μ΅μμ λΉνΈμ 1μ λΆμ¬μ£ΌκΈ°λ§ νλ©΄ μμκ° λλ κ²μΌκΉ?
κ·Έλ μ§ μλ€. κ·Έλ κ² μ¬μ©νλ€λ©΄ μ°μ°νκΈ°λ 볡μ‘νλ©° κ·Έλ‘ μΈν΄ λΉμ©μ μ¦κ°κ° μΌμ΄λλ€.
μ΄λ₯Ό ν΄κ²°νκΈ° μνμ¬ λ³΄μμ κ°λ μ μ μ©νμ¬ μλμ κ°μ΄ νννμλ€.
λκ°μ§ λ°©λ²μ΄ μλλ°, 1μ 보μλ 0μ λκ°μ§λ‘ νννλ λ± μ±λ₯λ¬Έμ κ° μ‘΄μ¬νμ¬ 2μ 보μκ° λ§μ΄ μ°μΈλ€κ³ νλ€.
보μμ λ°λΌ κ³μ°λ²μ΄ μμ ν λ¬λΌμ§λ―λ‘ μκ³ μλ κ²μ΄ μ’κ² λ€.
μ€μμ νν
μ°λ¦¬λ μ΅μμ 1λΉνΈλ₯Ό λΆνΈλ‘ λμ΄μ μμμ²λ¦¬λ₯Ό ν΄μ£Όμλ€.
μ΄λ κ°μ μ μμ΄κΈ° λλ¬Έμ λ³΄λ€ μ¬μ΄ λ°©ν₯μΌλ‘ μ²λ¦¬ν μ μμμΌλ λ³΄λ€ μ΄λ €μ΄ μΉκ΅¬κ° μ‘΄μ¬νλ€.
μ μκ° μλ μ€μλ€μ΄λ€.
μ΄λ κ² μκ°ν μ μλ€. 'κ·Έλ₯ μ λ° λλμ΄μ μμ μ μλΆ, λ€μ μμλΆ νλ©΄ μλλμ?!'
κ·Έλ λ€λ©΄ μμλ‘ λ¬Όλ¦¬νμμ μ¬μ©λλ μμλ€μ μ μν΄λ³΄κ² λ€.
- νλν¬ μμ
- μ보κ°λλ‘ μ
μμ κ°μ΄ μμ²λ μ°¨μ΄λ₯Ό 보μ΄λ κ²μ μ μ μλ€.
μ λ°μΌλ‘ λλμ΄μ μ΄ λ μλ₯Ό νμνλ €λ©΄ λλ½ 200λΉνΈλ ν λΉμ ν΄μ€μΌλ§ ν κ²μ΄λ€.
μμμ λλ¬Όλμ₯λ 32λΉνΈλ‘ ννμ νλλ°, λ무λ λΉν¨μ¨μ μ΄λΌ μκ°λλ€.
μ΄λ° λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ μ μλ λ°©λ²μ΄ λΆλμμμ μ΄λ€.
λΆλμμμ λν μ¬λ¬κ°μ λ°©μμ΄ μ μλμλλ°, λνμ μΌλ‘ μ¬μ©λλ λ°©μμ IEEE 754 νμ€μ΄λ€.
μ΄ λ°©μμ μ λ°λλ₯Ό μ΅λν λμ΄κΈ° μνμ¬ μ κ·νλΌλ νΈλ¦μ μ¬μ©νλ€.
μ κ·νλ κ°μλ₯Ό μ‘°μ νμ¬ λ§¨ μμ 0μ΄ μλλ‘ λ§λ€μ΄μ€λ€.
μ΄λ° μμΌλ‘ μμμ μ λΉκ²¨μ 1λ§μ λ¨κΈ°κ³ , 맨 μμ΄ 1μ΄λΌλ κ²μ μκ³ μμΌλ―λ‘ μλ΅νλ νΈλ¦μΌλ‘ λΉνΈλ₯Ό μλ μ μμλ€.
λν μλμ κ°μ΄ κ°μλΆ / μ§μλΆλ₯Ό λλμ΄ ν¨μ¨μ μΌλ‘ νμν μ μλλ‘ νμλ€.
μ΄λ° μμΌλ‘ λλμ΄ κΈ°λ³Έ μ λ°λ (32λΉνΈ)μμ
μ λμ λ²μλ₯Ό ννν μ μμΌλ©°,
2λ°° μ λ°λμ λΆλμμμ μμλ
μ λ²μλ₯Ό ννν μ μλ€.
μ΄λ μμμ λ§νλ νλν¬ μμμ μ보κ°λλ‘ μκ° κΈ°λ³Έ μ λ°λ(16λΉνΈ)μ λ€μ΄κ°λ κ΅μ₯ν ν¨μ¨μ 보μ¬μ€λ€.
μ°λ¦¬λ λΆλμμμ μ μ΄μ©νμ¬ ν©λ¦¬μ μΈ λ²μ λ΄μμ λ§μ μμλ₯Ό μ°μ°ν μ μκ² λμλ€.
ν μ€νΈμ νν
μμμ μ΄μΌκΈ°νλ κ²μ²λΌ μ»΄ν¨ν°λ λΉνΈλ₯Ό μ΄μ©νμ¬ μν΅μ νλ©°, μ¬λ¬κ°μ§ νΈλ¦μ μ΄μ©νμ¬ μ€μλ€μ ννν μ μμμ μμλ€.
νμ§λ§ μμ§ μ¬λκ³Ό μ΄λ»κ² μν΅νλ μ§λ μ’ μλ¬Έμ΄ λ λ€.
μ¬λμ μμ°μ΄λ‘ μν΅νλλ°, μ»΄ν¨ν°λ μ€μμμ λκ³ μμ§ μμκ°.
μ΄μ μ΄λ»κ² μ»΄ν¨ν°μκ² μμ°μ΄λ₯Ό μλ €μ€ μ μμλκ°λ₯Ό μμ보μ.
μμ€ν€ μ½λ
μλ₯Ό νννμ λμ κ°μ΄ ν μ€νΈλ₯Ό νννλ κ²μλ λ€μν μμ΄λμ΄κ° κ²½μνμλ€.
κ·Έ μ€ μΉλ¦¬ν κ²μ΄ μ 보 κ΅νμ μν λ―Έκ΅ νμ€ μ½λ - ASCII (American Standard Code for Information Interchange) μ΄λ€.
ASCII(μμ€ν€)κ° ν μ€νΈλ₯Ό νννλ λ°©λ²μ λͺ¨λ κΈ°νΈμ λνμ¬ 7λΉνΈμ κ°μ ν λΉνμ¬ ν μ€νΈμΌ κ²½μ° μ΄ κ°λ€μ ν΄μνμ¬ κ²°μ νμλ€.
μΉμν μνλ²³μ΄λ κΈ°νΈμ λΉνμ¬ 1λ²μ SOHλ 2λ²μ STXκ°μ κ²μ λ€λ₯Έ λ¬Έμμ λΉνμ¬ μ’ μ΄μ§μ μ΄λΌ λκ»΄μ§λ€.
μ΄λ μ μ΄λ¬ΈμλΌκ³ λΆλ¦¬λ μ½λλ‘μ μΆλ ₯νλλ° μ°μ§ μκ³ μ₯μΉλ₯Ό μ μ΄νκΈ° μνμ¬ μ¬μ©νλ€.
κ·Έλ λ€λ©΄ νκΈμ μ΄λ»κ² μ°κ³ μμ£ ?
μμ μμ€ν€ μ½λλ μΆ©λΆν ν₯λ―Έλ‘μ°λ νλ μλ¬Έμ΄ λλ μ μ΄ μλ€.
"μμ΄λ§ μμΌλ©΄ λ€λ₯Έ μΈμ΄λ μ΄λ»κ² μ°κ³ μλμ?"
μ΄λ μ΄κΈ° μ»΄ν¨ν°λ λ―Έκ΅μ° νΉμ μκ΅μ°μ΄μκ³ , λΉκ΅μ κΈ΄ μκ° μμ΄λ§ λμ΄λ λ¬Έμ κ° μμλ€.
νμ§λ§ μ΄ν μ»΄ν¨ν°κ° λμ€ν λ¨μ λ°λΌμ λ€μν μΈμ΄κ° μ§μμ΄ νμνμκ³ , νκ΅μ΄(KS C 5601 λ±λ±) μ€κ΅μ΄ λ±λ±μ νμ€μ λ§λ€μ΄ μ¬μ©νκ² λμλ€. μ΄λ κ² κ°κΈ° λ€λ₯Έ νμ€μ μ¬μ©ν μ΄μ λ κ°μ μΈμ΄λ₯Ό μ¬μ©ν΄μΌ νλλ°, ν λΉνΈμ Costκ° λμκΈ° λλ¬Έμ λ§μ λΉνΈλ₯Ό λ¬Έμμ ν λΉνκΈ°κ° μ΄λ €μ κΈ° λλ¬Έμ΄λ€.
νμ§λ§ κΈ°μ μ΄ λ°μ νλ©° λΉνΈμ Costμ κ°μλ¨μ λ°λΌμ μ λμ½λλΌλ μλ‘μ΄ νμ€μ΄ λ§λ€μ΄μ‘κ³ , 16λΉνΈμ μ½λλ₯Ό λ¬Έμμ λΆμ¬νμ¬ 7λΉνΈλ₯Ό μ°λ μ΄μ λ³΄λ€ λ λ§μ λ¬Έμλ₯Ό ννν μ μκ² νμλ€.
μ΄ν μ λμ½λλ λ€μν λ¬Έμλ€μ μ§μνμ¬ 16λΉνΈλ‘λ λΆμ‘±νκ² λμκ³ νμ¬ 21λΉνΈμ μ λμ½λλ₯Ό μ¬μ©νκ³ μλ€κ³ νλ€.
μμ§κΉμ§λ 21λΉνΈμ μ λμ½λλ λΆμ‘±νμ§ μμΌλ, νμ¬ μ§μλμ§ μλ κ³ λ λ¬Έμλ πΈ λμ μλ κ°μμ§ λ±μ λ§λ€μ§ μμΌλ¦¬λΌλ λ²μ΄ μμΌλ―λ‘ μΈμ κ°λ λΆμ‘±ν΄μ§ μ μμΌλ¦¬λΌ μκ°νλ€.
μ΄λ¬ν 21λΉνΈλ₯Ό μ±μ°λ €λ μ λμ½λμ μ°½λνκ³νμ λ§ν¬μ μκ°λμ΄ μλ€.
μΈμ½λ©
μ΄λ κ² 21λΉνΈκΉμ§ λμ΄λλ©΄μ λ¬Έμλ₯Ό νλ νννλ κ²μ λλ λΉμ©μ΄ μ΄μ ASCIIμ 7λΉνΈμ λΉνμ¬ νλ°μ μΌλ‘ μ¦κ°νλ€.
κ³Όκ±°μ λΉνμ¬ 1λΉνΈμ μλͺ¨λλ Costκ° κ΅μ₯ν μ λ ΄ν΄μ‘μ§λ§, κ·Έλ λ€κ³ 7λΉνΈλ‘ ννκ°λ₯ν λ¬Έμμ 21λΉνΈλ₯Ό ν λΉμ ν λ§νΌ μ λ ΄νμ§λ μλ€. κ·Έλ¦¬κ³ κΈ°λΆλ λμλ€
κ·Έλμ μ°λ¦¬λ λ¬Έμ μ½λμ λ°λΌμ κ°κΈ° λ€λ₯Έ Encoding(μΈμ½λ©)μ μ¬μ©νμ¬ μ΄λ° λ¬Έμ λ₯Ό ν΄κ²°νλ € νλ€.
μΈμ½λ©μ΄λ λ€λ₯Έ λΉνΈ ν¨ν΄μ νννκΈ° μνμ¬ μ¬μ©νλ λΉνΈ ν¨ν΄μ μλ―Ένλ€.
κ·Έλμ μΈμ½λ©κΉμ§ μ μ©μ νλ€λ©΄ λΉνΈ - μ«μ - λ¬Έμ - μ«μ(λ¬Έμ)μ κ°μ νλ¦μΌλ‘ μ²λ¦¬λ λ¬Έμλ₯Ό λ³΄κ³ μλ κ²μ΄λ€.
λ μ¬κΈ°μλ λ€μν λ°©λ²μ΄ μ μλμλλ°, λνμ μΌλ‘ μ¬μ©λλ UTF-8μ λνμ¬ μκ°ν΄λ³΄λ € νλ€.
UTF-8
UTF-8μ μ λμ½λ λ³ν νμ 8λΉνΈ (Unicode Transformation Format-8bit)λΌλ μλ―Έλ‘ λͺ¨λ λ¬Έμλ₯Ό 8λΉνΈμ λ©μ΄λ¦¬λ‘ λ¬Άμ΄μ νμνκ² λλ€.
UTF-8μ λ³ν κ·μΉμ λ€μκ³Ό κ°λ€.
λ€μκ³Ό κ°μ΄ ASCIIμ 7λΉνΈλ‘ νμλλ λΆλΆμ 7λΉνΈλ₯Ό ν λΉνκ³ μ΅μλ¨μ λΉνΈλ₯Ό 0μΌλ‘ νμν΄μ ꡬλΆν΄μ£Όλ κ²μ μ μ μλ€.
κ·Έλ¦¬κ³ μ΄νμ κ·μΉμ 보면 첫 λ°μ΄νΈ(8λΉνΈ)μμ μ¬μ©ν λ°μ΄νΈ λ©μ΄λ¦¬ μλ§νΌ 1μ λΆμ¬μ£Όκ³ 0μ νλ λΆμ¬μ€λ€.
ex) 3κ°μ λ©μ΄λ¦¬ μ¬μ© -> 1110****
κ·Έλ¦¬κ³ μ²« λ°μ΄νΈλ μμ κ·μΉμ λ§μ‘±μν¨ ν, λ¨μ λΉνΈλ₯Ό μ¬μ©νλ€.
κ·Έλ¦¬κ³ μ΄μ΄μ§λ λ°μ΄νΈλ€μ 첫 λ λΉνΈλ₯Ό 10μΌλ‘ μμ±ν΄μ£Όκ³ λλ¨Έμ§ 6λΉνΈλ₯Ό μ¬μ©νλ€.
μμ κ°μ λ‘μ§μ μ¬μ©νλ€λ©΄ 4κ°μ λ°μ΄νΈλ₯Ό μ΄μ©νμ¬ Unicodeκ° κ°μ§ 21λΉνΈλ₯Ό ννν μ μλ€.
μ΄λΌ? μΈκ°, λ€κ°μ λ°μ΄νΈλ₯Ό μ¬μ©νλ€λ©΄ μ€νλ € λΉν¨μ¨μ μΈ κ² μλκ°μ?
λ§λ€. μ μ₯λλ λ¬Έμμ΄μ μ°μ΄λ³΄λ©΄ μκ² μ§λ§ νκ΅μ΄λ 3Byteλ₯Ό μ¬μ©νμ¬ μ€νλ € λμ μ±λ₯μ λ΄κ³ μλ€.
νμ§λ§ ASCII λ¬Έμμ΄μ΄ 1λ°μ΄νΈλ‘ μ¬μ© κ°λ₯νλ€λ ν° μ₯μ κ³Ό νμνΈνμ± λ± λ€μν μ₯μ μΌλ‘ μΈνμ¬ νμ€μΌλ‘ μ리 μ‘μλ€κ³ λ³Ό μ μλ€.
μ 리
μ°λ¦¬λ 0κ³Ό 1λ°μ λͺ¨λ₯΄λ μ»΄ν¨ν°κ° μ΄λ»κ² μ°λ¦¬μ μν΅νλ μ§ μ μ μμλ€.
λ€μν νΈλ¦μ ν΅ν΄μ 0κ³Ό 1λ‘ κ΄λ²μν μ€μλ₯Ό λ€λ£° μ μμμΌλ©°, μ΄λ¬ν λ²μκ° μλ μμ λ¬Έμλ₯Ό λΆμ¬νμ¬ μμ°μ΄ νΉμ κΈ°νΈλ₯Ό νννλ λ²λ μμ보μλ€. κ·Έλ¦¬κ³ μ΄λ° κ²λ€μ λ³΄λ€ ν¨μ¨μ μΌλ‘ νννλ λ°©λ²μΈ μΈμ½λ©μ λνμ¬λ μμ보μλ€.
λ§μ°νκ² λ€λ₯Έ μΈκ³μ μλ μ»΄ν¨ν°μ μ‘°κΈ κ°κΉμμ§ λλμ΄λ€.
λ€μ κΈμμλ μ»΄ν¨ν°κ° μ 0κ³Ό 1λ§ μμλ€μ μ μκ² λ§λ€μ΄μ‘μΌλ©° μ΄λ ν λ¬Όλ¦¬κ΅¬μ‘°λ‘ μ΄λ£¨μ΄μ Έμλ μ§ μμλ³΄κ² λ€.