β μΈμ½λ©(Encoding)μ΄λ? μΈμ½λ© κ°λ κ³Ό μ’ λ₯(ASCII, ISO/IEC, EUC-KR, MS949, UTF-8)
μ°λ¦¬κ° μ΄ν΄λ¦½μ€λ₯Ό μ€μ νκ±°λ μννΈμ¨μ΄ κ°λ°μ νκ±°λ λ°μ΄ν°λ₯Ό μ μ‘νκ±°λ λ±λ± μ¬λ¬κ°μ§ νμμμ μΈμ½λ©μ΄λΌλ κ°λ κ³Ό μ¬μ©μ΄ μκ°λ³΄λ€ λ§λ€. κ·Έλ μ§λ§ μ μ μ°λ¦¬κ° μ¬μ©νλ©΄μ μ νν κ°λ μ μ΄ν΄νκ±°λ μ μλ₯Ό μκ³ μλ 건 νμ μ μ΄κ³ νκ³κ° λ§λ€. κ·Έλμ μ€λμ μΈμ½λ©μ λν΄μ μμλ³΄κ³ μΈμ½λ© λ°©μμ μ’ λ₯μ λ°λ₯Έ κ°λ κ³Ό νΉμ§μ΄ 무μμΈμ§ μμλ³΄κΈ°λ‘ νλ€.
μΈμ½λ©(Encoding) μ΄λ?
νμΌμ μ μ₯λ μ 보μ ννλ₯Ό λ€λ₯Έ κ²μΌλ‘ λ³κ²½νλ κ²μ λ§νλ€. λΆνΈν(符θε)λΌκ³ λ νλ€.
μ 보μ ννλ₯Ό λ€λ₯Έ κ²μΌλ‘ λ³κ²½νλ κ²μ μΈμ½λ©μ΄λΌκ³ νλλ°, μ°λ¦¬κ° μ¬μ©νλ μ 보λ₯Ό λνλ΄λ λ¬Έμλ€μ νν λν λνλ΄λ λ°©μμ΄ μλ€. κ·Έ ννμ λ§λ μΈμ½λ© μ€μ μΌλ‘ μ°λ¦¬κ° λ³΄κ³ μ νλ ννλ₯Ό μ¬μ©νλ©΄ λλ€. κ·Έλ λ€λ©΄ κ·Έλ° ννλ 무μμ΄ μμκΉ?
λ¬Έμ μΈμ½λ©(Encoding) μ΄λ?
μ¬μ©μκ° μ λ ₯ν λ¬Έμλ κΈ°νΈλ€μ μ»΄ν¨ν°κ° μ΄μ©ν μ μλ μ νΈλ‘ λ§λλ κ²
λ¬Έμ μΈμ½λ© μ’ λ₯
ASCII(American Standard Code for Information Interchange)
- λ―Έκ΅ κ΅λ¦½ νμ€ νν(ANSI, American National Standards Institute)μμ νμ€νν μ 보κ΅νμ© 7λΉνΈ λΆνΈμ²΄κ³μ΄λ€.
- μλ¬Έ μνλ²³μ μ¬μ©νλ λνμ μΈ λ¬Έμ μΈμ½λ©
- μ»΄ν¨ν°μ ν΅μ μ₯λΉλ₯Ό λΉλ‘―ν λ¬Έμλ₯Ό μ¬μ©νλ λ§μ μ₯μΉμμ μ¬μ©λλ©°, λλΆλΆμ λ¬Έμ μΈμ½λ©μ΄ μμ€ν€μ κΈ°μ΄λ₯Ό λ
- 33κ°μ μΆλ ₯ λΆκ°λ₯ν μ μ΄ λ¬Έμλ€κ³Ό 곡백μ λΉλ‘―ν 95κ°μ μΆλ ₯ κ°λ₯ν λ¬Έμλ€λ‘ μ΄ 128κ°
- 2Byte μ΄μμ λ€μν μ½λλ€μ ννν μ μκΈ° λλ¬Έμ νλμλ μ λμ½λ(Unicode)λ₯Ό λ λ§μ΄ μ¬μ©
ISO/IEC 646
- ASCII μ½λμμ μ¬μ©νλ 7λΉνΈ λ¬Έμμ½λλ₯Ό κ·μ νλ κ΅μ νμ€ν 기ꡬ(ISO) νμ€μ΄λ©°, μ΄κ²μ λ°νμΌλ‘ κ° λλΌ μΈμ΄νμ λ¬Έμ μ½λκ° κ·μ
- λ―Έκ΅μ κ·κ²©μΈ ASCIIλ₯Ό κ΅μ νν 체μ
- ASCIIμλ μλλ°, ISO/IEC 646 INVμλ μλ λ¬Έμλ€μ΄ μλΉν μμ£Ό μ°μ΄λ©΄μ μΌμ€μλ₯Ό μΆκ°νκ² λλλ°, μ΄λ‘ μΈν΄ 7λΉνΈ μμμ λ³κ²½μ΄ νμνμ§ μμ 8λΉνΈ λ¬Έμ μ§νμΈ ISO/IEC 8859κ° λ±μ₯νλ©΄μ ISO/IEC 646μ μμ¬μμΌλ‘ μ¬λΌμ§
ISO/IEC 8859
- 8λΉνΈ λ¬Έμ μΈμ½λ©μ μν ISO λ° IEC 곡λ νμ€ μ리μ¦
- μΌλ ¨μ νμ€μ ISO/IEC 8859-1, ISO/IEC 8859-2 λ±κ³Ό κ°μ΄ λ²νΈκ° λ§€κ²¨μ§ λΆλΆμΌλ‘ ꡬμ±
- νκΈ°λ ISO/IEC 8859-12λ₯Ό μ μΈνκ³ 15κ°μ λΆλΆμ΄ μμ
- 95κ°μ μΈμ κ°λ₯ν ASCII λ¬Έμμ λΉνΈ ν¨ν΄μ νλ μμ΄λ‘ μ 보λ₯Ό κ΅ννκΈ°μ μΆ©λΆνμ§λ§ λΌν΄ μνλ²³μ μ¬μ©νλ λλΆλΆμ λ€λ₯Έ μΈμ΄μλ ASCIIμμ λ€λ£¨μ§ μλ μΆκ° κΈ°νΈκ° νμ, κ·Έλμ ISO/IEC 8859λ 8λΉνΈ μ€ 8λ²μ§Έ λΉνΈλ₯Ό νμ©νμ¬ λ€λ₯Έ 96κ°μ μΈμ κ°λ₯ν λ¬Έμμ λν μμΉλ₯Ό νμ©ν¨μΌλ‘μ¨ λ¬Έμ ν΄κ²°
ISO 10646
- UCS(Universal Character Set: κ΅μ λ¬Έμ μΈνΈ)λ₯Ό μ μνκ³ μμ
- 1991λ λΆν° μ λμ½λ 컨μμμμμλ μ λμ½λ νμ€κ³Ό ISO/IEC 10646μ λ°μ μν€κΈ° μν΄ ISOμ 곡λ μμ μ μ§ν
- UCSλ 110λ§κ° μ΄μμ μ½λκ° μμ§λ§, μΌλ°μ μΌλ‘ 첫 65536κ°(BMP, Basic Multilingual Plane, κΈ°λ³Έ λ€κ΅μ΄ νλ©΄)λ§μ΄ μ¬μ©λλ€.
- 곡μμ μΌλ‘ 31λΉνΈ λ¬Έμμ μ μ μ
EUC-KR
- EUCλ Extend Unix Codeμ μ½μλ‘ μμ΄λ₯Ό μ μΈν λ¬Έμλ₯Ό νννκΈ° μν νμ₯λΆνΈλ₯Ό μλ―Έ, κ·Έ μ€ EUC-KRμ νκΈ ννμ μν λ¬Έμ μΈμ½λ© λ°©μ
- νκΈκ³Ό νκ΅μμ ν΅μ©λλ νμ, κ·Έλ¦¬κ³ μλ¬Έμ ννν μ μμ
- νκΈ νμ νμλ₯Ό 2Byteλ‘ μ²λ¦¬
- ASCIIλ¬Έμμ μΆ©λνμ§ μκ³ ASCII λ¬Έμλ₯Ό λ€λ£¨λ λλΆλΆμ νλ‘κ·Έλ¨ λ° μμ€ν μ λ¬Έμ μμ΄ μ¬μ©λ¨
- λͺ¨λ νλμ νκΈ μμ μ ννν μ μμ
- λ€λ₯Έ λ¬Έμ μΈνΈμ λ¬Έμλ₯Ό ννν μ μμ
- κ΅μ μ μΌλ‘ κ΅νλ μ μλ λ¬Έμ λ° μ¬λ¬ λλΌ μΈμ΄λ₯Ό μ²λ¦¬νλ μμ€ν λ° νλ‘κ·Έλ¨μ κ°λ°, νμ₯μ΄ μ΄λ €μ
MS 949
- Microsoft-Windowμ κΈ°λ³Έ μ½λ νμ΄μ§λ‘, νκΈ μΈμ½λ©μ ν μ’ λ₯μ΄λ©° EUC-KRμ νμ₯ν
- 'ν΅ν© μμ±ν', 'νμ₯ μμ±ν' μ΄λΌκ³ λ ν¨
- Microsoftκ° κ°λ°νκΈ° λλ¬Έμ MS949, Windows-949, CP949 λ±μΌλ‘λ λΆλ¦Ό
UTF-8
- μ λμ½λλ₯Ό μν κ°λ³ κΈΈμ΄ λ¬Έμ μΈμ½λ© λ°©μ μ€ νλ
- μ μΈκ³ λͺ¨λ λ¬Έμλ₯Ό λμμ νν ν μ μλλ‘ λ§λ€μ΄μ§ κ·μ½
- UTF-8μ μ¬μ©νλ©΄ νκΈμ λͺ¨λ₯΄λ κ΅κ°μμλ νκΈμ μλ²½νκ² ννν μ μμ
- UTF λ "Universal Coded Character Set + Transformaion Format + 8bit"μ μ½μ
- μ½λ νμ΄μ§λ 65001λ‘, UTF-8λ‘ νν κ°λ₯ν κΈΈμ΄λ μ΅λ 6Byte μ΄μ§λ§ λ€λ₯Έ μΈμ½λ©κ³Όμ νΈνμ μν΄ 4Byte κΉμ§λ§ μ¬μ©νλ€.
@Junesker