1. Unicode ¶
In computing, Unicode provides an international standard which has the goal of providing the means to encode the text of every document people want to store on computers. This includes all scripts in active use today, many scripts known only by scholars, and symbols which do not strictly represent scripts, like mathematical, linguistic and APL symbols. Establishing Unicode involves an ambitious project to replace existing character sets, many of them limited in size and problematic in multilingual environments. Despite technical problems and limitations, Unicode has become the most complete character set and one of the largest, and seems set to serve as the dominant encoding scheme in the internationalization of software and in multilingual environments. Many recent technologies, such as XML, the Java programming language as well as several operating systems, have adopted Unicode as an underlying scheme to represent text. '''from wikipedia.org'''
2. document ¶
official consortium : http://www.unicode.org
introduction : http://www.unicode.org/standard/translations/korean.html
specification : http://www.unicode.org/versions/Unicode4.1.0/
http://pluu.pe.kr/pukiwiki/
introduction : http://www.unicode.org/standard/translations/korean.html
specification : http://www.unicode.org/versions/Unicode4.1.0/
http://pluu.pe.kr/pukiwiki/
3. thread ¶
μμ¦ κ΄μ¬μλ κ²μ€ νλ.
νμ¬ λλΆλΆμ 리λ μ€ μ΄ν리 μΌμ΄μ μ UTF-8μ κΈ°λ°μΌλ‘ν΄μ κ°λ°λκ³ μκ±°λ ν¬ν μ€μ΄λ€. μλ‘ λ§λ€μ΄μ§λ λͺ¨λ ν¨ν€μ§λ λͺ¨λ UTF-8μ μ¬μ©νλ€. κ·Έλ, KDE μκ°μ μλμ° λ§€λμ λ€λ κΈ°μ‘΄μ EUCλ₯Ό κΈ°λ°μΌλ‘ν λ¬Έμμ μ μ§μνμ§λ§, νλ©΄μ μΌλ‘λ§ μ§μν λΏ λ΄λΆμ μΌλ‘λ UTF-8λ‘ λ³ννμ¬μ μ²λ¦¬ν¨. κ²°κ΅ UTF-8λ‘μ λ¬Έμμ λ³κ²½μ κΈ°κ°μ λ¬Έμ μ΄μ§ λμΈμ΄λ€.
MultiLinugual νλ«νΌμ μ§ν₯νλ νλ‘κ·Έλ¨μ κ°λ°μλΌλ©΄ λΉμ°ν μ΄ν΄ν΄μΌνλ ννΈμ. - eternalbleu
νμ¬ λλΆλΆμ 리λ μ€ μ΄ν리 μΌμ΄μ μ UTF-8μ κΈ°λ°μΌλ‘ν΄μ κ°λ°λκ³ μκ±°λ ν¬ν μ€μ΄λ€. μλ‘ λ§λ€μ΄μ§λ λͺ¨λ ν¨ν€μ§λ λͺ¨λ UTF-8μ μ¬μ©νλ€. κ·Έλ, KDE μκ°μ μλμ° λ§€λμ λ€λ κΈ°μ‘΄μ EUCλ₯Ό κΈ°λ°μΌλ‘ν λ¬Έμμ μ μ§μνμ§λ§, νλ©΄μ μΌλ‘λ§ μ§μν λΏ λ΄λΆμ μΌλ‘λ UTF-8λ‘ λ³ννμ¬μ μ²λ¦¬ν¨. κ²°κ΅ UTF-8λ‘μ λ¬Έμμ λ³κ²½μ κΈ°κ°μ λ¬Έμ μ΄μ§ λμΈμ΄λ€.
MultiLinugual νλ«νΌμ μ§ν₯νλ νλ‘κ·Έλ¨μ κ°λ°μλΌλ©΄ λΉμ°ν μ΄ν΄ν΄μΌνλ ννΈμ. - eternalbleu
4. κ΄λ ¨ κΈ ¶
UNICODE : http://www.unicode.org/standard/translations/korean.html μ λμ½λμ λν΄ ? μ΄λ€ νλ«νΌ, μ΄λ€ νλ‘κ·Έλ¨, μ΄λ€ μΈμ΄μλ μκ΄μμ΄ μ λμ½λλ λͺ¨λ λ¬Έμμ λν΄ κ³ μ λ²νΈλ₯Ό μ 곡ν©λλ€. UCS-2 : λλΆλΆμ νν μ°λ λ¬Έμλ€μ μ μν κ·κ²©μ λλ€. 2bytes λ²μλΌμ UCS-2 μ λλ€. μ΄κ±Έ bit λ‘ νννμ¬ UTF-16 μ λλ€. UTF-16LE, UTF-16BE κ° λμΌν κ·κ²©μΌλ‘ Little Endian, Big Endian μ λ¨μ§ byte order (λ°μ΄νΈ μμ)κ° λ€λ₯ΌλΏ μ λλ€. iconv --list λ₯Ό ν΄λ³΄λ©΄ μΈλ°μμ΄ λ§μ΄ λμ€λλ°, UTF-16LE, UCS-2LE κ° κ°μκ±°κ³ BE λΌλ¦¬ κ°μκ±°λΌκ³ 보면 λ©λλ€. κ·Έλ₯ UTF-16μ UTF-16LE μ λμΌνλ μμ BOM ν€λκ° λΆμ΅λλ€. UCS-2 λ ν€λκ° λΆμ§ μμ΅λλ€. UCS-4 : UCS-2 μ νμ₯μ λλ€. λ€μ 2bytes λ UCS-2 μ μμ ν νΈνλ©λλ€. μ¦, UCS-2 μ 0xFFFF λ UCS-4 μ 0x0000FFFF μ κ°μ μ½λμ λλ€. UTF-32 λ‘ λ§λ§ λ°κΎΈμ΄ μμ λ΄μ©κ³Ό λμΌν©λλ€. μΈν°λ· λΈλΌμ°μ λ΄λΆμμ μ΄κ²μ΄ μ¬μ©λλ©°, js λ±μμ indexOf() λ‘ κ°μ Έμ€λ©΄ UCS-4 μ½λκ° 10μ§μλ‘ λ°νλ©λλ€. 10μ§μ μ΄λ―λ‘ 65535 κΉμ§λ UCS-2 μ μμ νΈν λ©λλ€. UTF-8 : UCS-2, UCS-4 λ μμ΄κΆμμλ λΆλͺ ν λλΉκ° μμ΅λλ€. ascii λ§μΌλ‘λ μΆ©λΆν νν κ°λ₯νλ°, νκΈμμ μ°μ§λ μλ λ°μ΄νΈκ° λλΉλμ§μ. κ·Έλ°μ λ μκ³ , λ¬Έμμ΄λ‘ λ νκΈ°μ UTF-7 보λ€λ νΈλ¦¬ν΄μ κ°μ₯ 보νΈμ μΌλ‘ μ¬μ©λ©λλ€. κ°λ³κΈΈμ΄λ₯Ό κ°μ§λ νΉμ§μ΄ μμ΅λλ€. λ¨μ§ κ³μ°λ§μΌλ‘ UCS-2, UCS-4 κ·κ²©μΌλ‘μ μνΈλ³νμ΄ κ°λ₯ν©λλ€. νκ΅μ΄λ UCS-2 κ·κ²© λ΄μ μκΈ° λλ¬Έμ 3bytes λ΄μμ νν κ°λ₯ν©λλ€. UTF-7 : μ΄λ©μΌ λ± ascii λ§μΌλ‘ ννν΄μΌ ν νμμ±μ μν΄ λ§λ€μ΄μ‘μ΅λλ€. ν κΈμλΉ 8bit μ© ν λΉνμ§λ§ μ¬μ©μ 7bit λ§ ν©λλ€. UTF-8 κ³Ό κ°μ νΉμ§μ κ°μ§κ³ μμΌλ, λͺ¨λ ascii κ°μ΄ μ€μ ascii μ κ°μ μλ―Έκ° μλκΈ° λλ¬Έμ μ΄κ²μΌλ‘ 무μμ νκΈ°λ μ’ νλλλ€. BOM (Byte Order Mark) : μ λμ½λ μ’ λ₯κ° λ§κΈ° λλ¬Έμ μμ μ΄λ° ν€λλ₯Ό λΆμ¬μ ꡬλΆνκΈ°λ ν©λλ€. EmEditor, UltraEdit, Vim λ±μ μλν°μμ μΈμν©λλ€. μ½λν http://www.unicode.org/charts/ κ° λλΌλ³ μ½λλ²μμ μ μλ λ¬Έμλ₯Ό λ³Ό μ μμ΅λλ€. μμ 0 μ μ μ§ μμκΈ° λλ¬Έμ (Zerofill μ΄ μλκΈ° λλ¬Έμ) 4μ리κΉμ§λ UCS-2 λ €λ νμκ³ , 5 μ리 λΆν°λ UCS-4 λ €λ νμμμ€. resy μ°λ¦¬λ§λ‘ λ μ λμ½λ νν 리μΌμ΄ μμμΌλ©΄ μ’κ² λ€ νλλ°.. μ΄λ° μλ£λΌλ μ°Έ μ μ€νκ΅°μ. μμ§λ μ λμ½λ = UTF-16(or λ€λ₯Έ μΈμ½λ©) μΌλ‘ μ°©κ°νλ μ¬λμ΄ λ§μ νμ€μ... λκ΅°κ° μ΄λλ₯Ό λ§€κΈ΄ ν΄μΌνλλ°... κ±°μ°Έ... ^^: 07/13 2:23:12 μ½λ©νΈ μ§μ°κΈ° resy 보좩 λ΄μ©μΌλ‘... UCS λ μ½λκ°μ ν μ΄λΈμ΄λΌκ³ μκ°νλ©΄ λ©λλ€. UTF λ μΈμ½λ©μ λ°©λ²(μ¦, λ°μ΄νΈμ μ°μλ μμλ₯Ό μ΄λ»κ² ννν κ²μ΄λ νλ μ μ)μ΄κ³ , UCS λ 미리 μ μλμ΄ μλ κ° κΈμ μ½λλ₯Ό ν μ΄λΈ ν ν΄λμ κ²μ λλ€. κ°λ Ή κΈμ 'κ°' λ μ λμ½λμμ U+AC00 μ ν΄λΉνλλ°, UCS2 μμλ 0xAC00 ν μ΄λΈ μ’νμ μμΉνκ³ μμ΅λλ€. μ΄κ²μ UTF-8 μΈμ½λ©νλ©΄, 0xEAB080 μ΄ λ©λλ€. λꡬλ μ΄λ° μμΌλ‘ μ€λͺ ν΄μ£Όλ μ¬λμ΄ μμ΄μ μμ μ UCS2 = UTF16?? μ΄λΌκ³ ν·κ°λ¦¬κ³ ν€λ§Έλλ°, μ΄κ² μ νν μ€λͺ μΈμ§ λͺ¨λ₯΄κ² μ΅λλ€. μλͺ»λ μ μ΄ μμΌλ©΄ λκ° μ§μ ν΄μ£ΌμκΈΈ... ^^; λ¬Έμ μ§ν©(Character Set)μ΄λ μΈμ½λ©(Encoding)μ λν μ°¨μ΄λ λ μμμν κ°λ₯΄μ³μ£Όλ λ°κ° μλκ΅°μ. κ²°κ΅ μκ°μ΄ μ§λλ€λ³΄λ μ€μ€λ‘ μκ² λμμ΅λλ€λ§.. νμ€ν μΈκ΅ μλ£ λΉΌλ©΄ κ΅λ΄λ -_-; κ·Έλ¬κ³ 보λ μμ μ λκ΅°κ°κ° κ΅κ° μ½λνμ μΈμ½λ©μ΄ κ°μ§λ μλ―Έμ λν΄ κΈ μ¬λ Έλ κ±° κ°μλ°, locale μ λν λ΄μ©μ΄ κ·Έ νλ‘ μμ¬λΌμ€λ κ±° κ°κΈ°λ... 07/13 5:19:40 μ½λ©νΈ μ§μ°κΈ° utf utf -8μ λͺ©μ μ΄ μ λ§€νλ€μ. μλ λͺ©μ μ΄ asciiλ¬Έμλ§ μλ κ²½μ° μ¬μ©νμ§ μλ 첫λ²μ§Έ λ°μ΄νΈλ₯Ό μμ κΈ° μνκ² μλλλ€. κ°λ° κ³Όμ μμ ascii λ¬Έμμ νΈνμ μν΄ κ·Έ μμμ κ·Έλλ‘ λ³νμ΄ λλλ‘ ν κ²μ λλ€. λͺ©μ μ체λ ucs μΊλ¦ν°κ° 2 λλ 4λ°μ΄νΈλ‘ μ΄λ£¨μ΄μ Έ μλλ° μ΄κ±Έ μ€νΈλ§μΌλ‘ μ μ΄μ΄λκ³ λ³΄λ©΄ μ€κ°μ λ(0x00)μ΄ λ€μ΄κ° μ μμ΅λλ€. μλ₯Ό λ€μ΄ 'κ°'λ 0xac00μΈλ° μ΄ λ λ°μ΄νΈ λλ¬Έμ μ€νΈλ§ μ²λ¦¬κ° κ³€λνκ² λ©λλ€. κ·Έλμ λ λ°μ΄νΈλ₯Ό μμ¨ μ μλ μΈμ½λ© κΈ°λ²μ κ°λ°νκ² λ κ±°μ£ . 07/13 23:22:49 μ½λ©νΈ μ§μ°κΈ° resy μλΆ μκΈ°λλ‘ μΈν°λ·μμ μμ ν μ‘μμ μ μν΄μ UTF-8 μλ―Έκ° μκΈ°λ ν©λλ€. λ λ¬Έμκ° λ€μ΄κ°μ§ μμΌλκΉμ. λνμ μΌλ‘ HTTP νλ‘ν μ½μ ν μ€νΈ λ°©μμ΄λ©°, μ μ‘ λ°μ΄ν°μ λ λ¬Έμκ° λ€μ΄κ° μ μμ£ . UTF-8 κ°λ°μ λν νμ€ν 리λ μλλ‘ κ°λ©΄ λ³Ό μ μμ΅λλ€. http://www.cl.cam.ac.uk/~mgk25/ucs/utf-8-history.txt 07/13 23:58:19 μ½λ©νΈ μ§μ°κΈ° μ νμ utf λμ΄ μκΈ°νμ λΆλΆμ utf7 λ§μΌλ‘λ ν΄κ²°λ λ¬Έμ μ λλ€ :) asc λ¬Έμ λ§μΌλ‘ ν΄κ²°λλ λ¬ΈνκΆ μ¬λλ€μκ² utf16,32 λ₯Ό λμ νλΌκ³ λ§ν΄λ΄μ§ λ³λ‘ λ¨Ήνμ§λ μμ κ²μ΄κ³ .. euc λ±μ μΈμ½λ©μμ unicode λ‘ λμ΄κ°λ λ¨κ³μμμ νΌλμ μ’ μ€μ΄κΈ° μν κ³ΌλκΈ°μ μΈμ½λ©μ΄λΌκ³ 보λκ² λ μλ―Έ μμ§ μμκΉ μΆκ΅°μ...