Planes in Unicode Currency symbols

Document Sample
Planes in Unicode  Currency symbols Powered By Docstoc
					              17 Planes in Unicode



                   เสนอ
          อาจารย์อภิศักดิ์ พัฒนจักร



                     โดย
นายวิทิต         อัครปรีดี      รหัส 483020372-5
นส.ฉัตรสุดา      มนัส           รหัส 493020200-5
นายณัฐพงศ์       วาดไธสง        รหัส 493020203-9




       รายงายนี้เป็นส่วนหนึ่งของรายวิชา
    322361 Computer Systems Architecture
    ประจาภาคการศึกษาที่ 1 ปีการศึกษา2552
ประวัติความเป็นมา
        Unicode Consortium ได้ถูกก่อตั้งขึ้น ในเดือนมกราคม 1991 ในรัฐแคลิฟอร์เนีย
ประเทศสหรัฐอเมริกา 4 ปีหลังจากความคิดใหม่เกี่ยวกับการเข้ารหัสตัวอักษรที่เรียกว่า Unicode
ถูกเสนอให้พิจารณาแรกเริ่มโดยวิศวกรจาก Xerox (Joe Becker) และ Apple (Lee Collins and Mark Davis)
โดยมีจุดประสงค์หลักดังนี้
        “Universal (addressing the needs of world languages)
         Uniform (fixed-width codes for efficient access), and
         Unique (bit sequence has only one interpretation into character codes)”

โดยทั้งสามคนนั้นได้เป็นผู้กาหนดสถาปัตยกรรมพื้นฐานของ Unicode ในปี 1988 Lee Collins
ได้เริ่มต้นการออกแบบฐานข้อมูลจนในปี1992 Unicode 1.0 ได้ถือกาเนิดขึ้นจนมีการพัฒนาจนถึงทุกวันนี้คือ
Unicode 5.2.0Beta
          Unicode กาหนดหมายเลขเฉพาะสาหรับแต่ละอักขระ โดยไม่สนใจว่าเป็นแพล็ตฟอร์มใด
ไม่ขึ้นกับว่าจะเป็นโปรแกรมใดและไม่ว่าจะเป็นภาษาใด มาตรฐาน Unicode
ได้ถูกนาไปใช้โดยผู้นาในอุตสาหกรรม เช่น Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun,
Sybase, Unisys และอื่นๆ อีกมาก Unicode เป็นสิ่งที่จาเป็นสาหรับมาตรฐานใหม่ๆ เช่น XML, Java,
ECMAScript (JavaScript), LDAP, CORBA 3.0, WML ฯลฯ. และเป็นแนวทางอย่างเป็นทางการในการทา
ISO/IEC 10646 Unicode ได้รับการสนับสนุนในระบบปฏิบัติการจานวนมาก บราวเซอร์ใหม่ๆ ทุกตัว
และผลิตภัณฑ์อื่นๆ อีกมาก การเกิดขึ้นของ Unicode Standard และทูลส์ต่างๆ ที่มีในการสนับสนุน
Unicode เป็นหนึ่งในแนวโน้มทางเทคโนโลยีซอฟต์แวร์ระดับโลกที่มีความสาคัญที่สุด
โดยมีการแบ่งออกเป็นระนาบซึ่งมีทั้งหมด 17 ระนาบ(จาก0-16ระนาบ)
โดยมีระนาบที่ได้ใช้ไปแล้วดังตารางและยังมีระนาบที่ยังไม่ถูกใช้หรือจ่ายค่าตัวอักษรให้ด้วย
จากตารางจะเห็นได้ว่ามีระนาบที่ 4 – 13 ที่ใช้ไม่ได้มีการนามาใช้งานแต่อย่างใด ระนาบที่15-
16จะไว้ใช้งานจากหน่วยงานอื่นนอกจาก Unicode Consortium และ ISO
หลักการทางานของ Unicode
        รหัสแบบที่กาหนด 1 byte หรือ 8 บิตสาหรับ 1
ตัวอักษรนั้นมีความเหมาะสมและเพียงพอสาหรับภาษาที่ใช้ตัวอักขระแต่ละตัวแทนเสียงในภาษา
(alphabetical language) แต่สาหรับภาษาที่เขียนโดยใช้ตัวอักขระแทนพยางค์หรือหน่วยคา เช่น ภาษาญี่ปุ่น
ภาษาจีน จะมีจานวนอักขระที่เขียนเป็นจานวนมากเกินกว่าที่จะแทนด้วย 1 byte ได้ (ซึ่งแทนได้เพียง 256
แบบของตัวอักขระ) อีกทั้งเมื่อมีการใช้รหัสอักขระที่แตกต่างกัน ก็จะมีผลต่อการย้ายข้อมูลข้ามภาษา เช่น
รหัสที่แทนตัวอักขระ ก ที่ใช้ภาษาไทยจะไปตรงกับรหัสตัวอักขระ ¡ ในอีกตารางหนึ่ง เป็นต้น
จึงมีความพยายามแก้ปัญหาให้มีรหัสเดียวที่ใช้ได้กับอักขระทุกภาษา ซึ่งเป็นที่มาของการพัฒนารหัส
Unicode ขึ้นมาตั้งแต่ปีค.ศ.1991 (Unicode 1.0) โดยที่รหัสตัวอักขระ 256 ตัวแรกนั้นจะเหมือนกับรหัสของ
ISO-8859 ปัจจุบันพัฒนามาถึง Unicode 5.1




                                 ตัวอย่างการเข้ารหัสตัวอักษร ASCII และ Unicode
        หลักการของ Unicode คือแต่ละตัวอักขระที่ใช้ในภาษาต่างๆ จะมีรหัสเฉพาะของตน
แต่รูปแบบของการเข้ารหัสแบบ Unicode นั้นมีได้หลายแบบ เป็นการแปลงรหัส Unicode
ที่กาหนดหรือที่เรียกว่า Unicode transformation format (UTF) เป็นชุดของ byte เฉพาะสาหรับแต่ละอักขระ
(unique byte sequence) ในแบบที่ง่ายสุดคือใช้จานวนบิตคงที่(เหมือนการแทนรหัสแบบอื่นที่กล่าวมา)
จะใช้จานวน 32 บิตสาหรับแต่ละอักขระ (4 bytes/character) (เรียกว่า UTF-32)
แต่จะเสียเนื้อที่เก็บข้อมูลมากไม่ประหยัด และเพราะตัวอักษรต่างๆที่ใช้บ่อยๆ ก็มักเป็นเหมือนรหัส ISO-
8859 ซึ่งใช้เพียง 8 บิตสาหรับแต่ละตัวอักษรก็พอ
จึงมีการคิดวิธีการเข้ารหัสที่ประหยัดที่เก็บมากขึ้นโดยจานวนบิตของแต่ละอักขระไม่จาเป็นต้องคงที่การเข้า
รหัสแบบ UTF-16 กาหนดให้ตัวอักขระที่ใช้บ่อยๆ เก็บ 16 บิต ส่วนตัวอักขระที่ใช้ไม่บ่อยจะเก็บเป็น 32 บิต
(2-4
bytes/character) ส่วนการเข้ารหัสแบบ UTF-8 จะยิ่งประหยัดมากขึ้น เพราะตัวอักขระที่ใช้บ่อยจะเก็บ 8
บิตส่วนตัวอักขระอื่นๆ อาจเก็บ 16 หรือ 32 บิต (1-4 bytes/character) จึงทาให้ประหยัดที่เก็บข้อมูลมากขึ้น
รหัสแบบ Unicode
นี้เป็นที่คาดการณ์ว่าจะเป็นมาตรฐานสาหรับการเก็บข้อมูลภาษาในคอมพิวเตอร์ในอนาคต




                 ตัวอย่างรูปแบบการเข้ารหัสที่ออกแบบให้ประหยัดที่เก็บข้อมูลมากขึ้น
                                   ตัวอย่างตารางรหัส Unicode ที่เป็นภาษาไทย

การแบ่งระนาบของ Unicode
       Unicode นั้นจะแบ่งออกเป็นส่วนต่างๆได้หลายส่วน โดยการจัดแยกออกเป็นส่วนย่อยๆไว้ใน 17
ระนาบ          รวมทั้งหมด 1,114,112 ตัวอักษร โดยแบ่งได้เป็นระยะทั้งหมดคือ 0hex ถึง
10FFFFhexและโดยปกติในการอ้างถึง               Unicode         จะใช้รูปแบบ            “U+”
ตามด้วยตัวเลขฐานสิบหกเพื่อบ่งบอกตาแหน่งของตัวอักษรเช่น U+0058 สาหรับตัวอักษร LATIN CAPITAL
LETTER X ซึ่งรายละเอียดแต่ละระนาบมีดังต่อไปคือ



       ระนาบสาหรับตัวอักษรพื้นฐาน (ระนาบที่ 0)
       Basic Multilingual Plane จะทางานโดยในแต่ละชุดของอักขระจะประกอบด้วยรหัส 256
รหัสในการชี้ตาแหน่งของอักขระ Basic Multilingual Plane (BMP), เป็นระนาบที่มีอักขระบรรจุอยู่มากที่สุด
โดยอักขระสมัยใหม่และอักขระพิเศษเกือบทั้งหมดจะถูกบรรจุอยู่ระนาบนี้      ใน        Unicode        5.1
จะสามารถจาแนกประเภทในระนาบที่ 0 ได้คือ

   Basic Latin (0000–007F)           Mongolian (1800–18AF)                     Supplemental Punctuation (2E00–
   Latin-1 Supplement (0080–         Limbu (1900–194F)                          2E7F)
    00FF)                             Tai Le (1950–197F)                        CJK Radicals Supplement (2E80–
   Latin Extended-A (0100–017F)      New Tai Lue (1980–19DF)                    2EFF)
   Latin Extended-B (0180–024F)      Khmer Symbols (19E0–19FF)                 Kangxi Radicals (2F00–2FDF)
   IPA Extensions (0250–02AF)           Buginese (1A00–1A1F)                               Ideographic Description Characters
   Spacing Modifier Letters (02B0–      Balinese (1B00–1B7F)                                (2FF0–2FFF)
    02FF)                                Sundanese (1B80–1BBF)                              CJK Symbols and Punctuation
   Combining Diacritical Marks          Lepcha (Rong) (1C00–1C4F)                           (3000–303F)
    (0300–036F)                          Ol Chiki (Santali / Ol Cemet’) (1C50–1C7F)         Hiragana (3040–309F)
   Greek and Coptic (0370–03FF)         Phonetic Extensions (1D00–1D7F)                    Katakana (30A0–30FF)
   Cyrillic (0400–04FF)                 Phonetic Extensions Supplement (1D80–1DBF)         Bopomofo (3100–312F)
   Cyrillic Supplement (0500–           Combining Diacritical Marks Supplement (1DC0–      Hangul Compatibility Jamo (3130–
    052F)                                 1DFF)                                               318F)
   Armenian (0530–058F)                 Latin Extended Additional (1E00–1EFF)              Kanbun (3190–319F)
   Hebrew (0590–05FF)                   Greek Extended (1F00–1FFF)                         Bopomofo Extended (31A0–31BF)
   Arabic (0600–06FF)                   Symbols:                                           CJK Strokes (31C0–31EF)
   Syriac (0700–074F)                          o General Punctuation (2000–206F)            Katakana Phonetic Extensions
   Arabic Supplement (0750–077F)               o Superscripts and Subscripts (2070–          (31F0–31FF)
   Thaana (0780–07BF)                      209F)                                            Enclosed CJK Letters and Months
   N'Ko (Mandenkan) (07C0–                     o Currency Symbols (20A0–20CF)                (3200–32FF)
    07FF)                                       o Combining Diacritical Marks for            CJK Compatibility (3300–33FF)
   Indic scripts:                          Symbols (20D0–20FF)                              CJK Unified Ideographs Extension
    o Devanagari (0900–097F)                    o Letterlike Symbols (2100–214F)              A (3400–4DBF)
    o Bengali (0980–09FF)                       o Number Forms (2150–218F)                   Yijing Hexagram Symbols (4DC0–
    o Gurmukhi (0A00–0A7F)                      o Arrows (2190–21FF)                          4DFF)
    o Gujarati (0A80–0AFF)                      o Mathematical Operators (2200–22FF)         CJK Unified Ideographs (4E00–
    o Oriya (0B00–0B7F)                         o Miscellaneous Technical (2300–23FF)         9FFF)
    o Tamil (0B80–0BFF)                         o Control Pictures (2400–243F)               Yi Syllables (A000–A48F)
    o Telugu (0C00–0C7F)                        o Optical Character Recognition (2440–       Yi Radicals (A490–A4CF)
    o Kannada (0C80–0CFF)                   245F)                                            Vai (A500–A63F)
    o Malayalam (0D00–0D7F)                     o Enclosed Alphanumerics (2460–24FF)         Cyrillic Extended-B (A640–A69F)
    o Sinhala (0D80–0DFF)                       o Box Drawing (2500–257F)                    Modifier Tone Letters (A700–
   Thai (0E00–0E7F)                            o Block Elements (2580–259F)                  A71F)
   Lao (0E80–0EFF)                             o Geometric Shapes (25A0–25FF)               Latin Extended-D (A720–A7FF)
   Tibetan (0F00–0FFF)                         o Miscellaneous Symbols (2600–26FF)          Syloti Nagri (A800–A82F)
   Burmese (Myanmar) (1000–                    o Dingbats (2700–27BF)                       Phags-pa (A840–A87F)
    109F)                                       o Miscellaneous Mathematical Symbols-        Saurashtra (A880–A8DF)
   Georgian (10A0–10FF)                    A (27C0–27EF)                                    Kayah Li (A900–A92F)
   Hangul Jamo (1100–11FF)                     o Supplemental Arrows-A (27F0–27FF)          Rejang (A930–A95F)
   Ethiopic (1200–137F)                        o Braille Patterns (2800–28FF)               Cham (AA00–AA5F)
   Ethiopic Supplement (1380–                  o Supplemental Arrows-B (2900–297F)          Hangul Syllables (AC00–D7AF)
    139F)                                       o Miscellaneous Mathematical Symbols-        High Surrogates (D800–DB7F)
   Cherokee (13A0–13FF)                    B (2980–29FF)                                    High Private Use Surrogates
   Unified Canadian Aboriginal                 o Supplemental Mathematical Operators         (DB80–DBFF)
    Syllabics (1400–167F)                   (2A00–2AFF)                                      Low Surrogates (DC00–DFFF)
   Ogham (1680–169F)                           o Miscellaneous Symbols and Arrows           Private Use Area (E000–F8FF)
   Runic (16A0–16FF)                       (2B00–2BFF)                                      CJK Compatibility Ideographs
   Philippine scripts:                  Glagolitic (2C00–2C5F)                              (F900–FAFF)
    o Tagalog (1700–171F)                Latin Extended-C (2C60–2C7F)                       Alphabetic Presentation Forms
    o Hanunóo (1720–173F)                Coptic (2C80–2CFF)                                  (FB00–FB4F)
    o Buhid (1740–175F)                       Georgian Supplement (2D00–2D2F)                       Arabic Presentation Forms-A
    o Tagbanwa (1760–177F)                    Tifinagh (2D30–2D7F)                                   (FB50–FDFF)
   Khmer (1780–17FF)                         Ethiopic Extended (2D80–2DDF)                         Variation Selectors (FE00–FE0F)
                                              Cyrillic Extended-A (2DE0–2DFF)                       Vertical Forms (FE10–FE1F)
                                                                                                     Combining Half Marks (FE20–
                                                                                                      FE2F)
                                                                                                     CJK Compatibility Forms (FE30–
                                                                                                      FE4F)
                                                                                                     Small Form Variants (FE50–FE6F)
                                                                                                     Arabic Presentation Forms-B
                                                                                                      (FE70–FEFF)
                                                                                                     Halfwidth and Fullwidth Forms
                                                                                                      (FF00–FFEF)
                                                                                                     Specials (FFF0–FFFF)




       ระนาบเพิ่มเติมสาหรับตัวอักษร(ระนาบที่ 1)
       Supplementary                  Multilingual                  Plane                (SMP)
ในระนาบนี้ส่วนใหญ่จะใช้ในการเก็บอักขระที่เกี่ยวข้องกับประวัติศาสตร์
รวมไปถึงสัญลักษณ์ทางดนตรีและคณิตศาสตร์ ในการอ้างถึงค่าใน SMP มีด้วยกัน2 วิธี คือ โดยการค่อขยาย
Unicode จาก 16 บิตไปเป็น 32 บิต และอ้างถึงโดยตรงโดยใช้ 32 บิต (UTF-32) ส่วนอีกวิธีหนึ่งคือ
จะใช้ความยาวเป็นจานวนคู่ของ 16 บิต (Surrogate Pair)
        Linear B Syllabary (10000–1007F)                             Osmanya (10480–104AF)
        Linear B Ideograms (10080–100FF)                             Cypriot Syllabary (10800–1083F)
        Aegean Numbers (10100–1013F)                                 Phoenician (10900–1091F)
        Ancient Greek Numbers (10140–1018F)                          Lydian (10920–1093F)
        Ancient Symbols (10190–101CF)                                Kharoshthi (10A00–10A5F)
        Phaistos Disc (101D0–101FF)                                  Cuneiform (Sumero-Akkadian) (12000–123FF)
        Lycian (10280–1029F)                                         Cuneiform Numbers and Punctuation (12400–1247F)
        Carian (102A0–102DF)                                         Byzantine Musical Symbols (1D000–1D0FF)
        Old Italic (10300–1032F)                                     Musical Symbols (1D100–1D1FF)
        Gothic (10330–1034F)                                         Ancient Greek Musical Notation (1D200–1D24F)
        Ugaritic (10380–1039F)                                       Tai Xuan Jing Symbols (1D300–1D35F)
        Old Persian (103A0–103DF)                                    Counting Rod Numerals (1D360–1D37F)
        Deseret (10400–1044F)                                        Mathematical Alphanumeric Symbols (1D400–1D7FF)
      Shavian (10450–1047F)                                      Mahjong Tiles (1F000–1F02F)
                                                                  Domino Tiles (1F030–1F09F)



                                    ั               ่
       สัญลักษณ์ทางคณิตศาสตร์ที่ได้รบการยอมรับที่อยูในระนาบที่1มีดังนี้

      Aramaic
      Brahmi
      Egyptian Hieroglyphics
      Old South Arabian

                                    ่                                   ั
       สัญลักษณ์ทางคณิตศาสตร์อื่นๆทีได้รับการยอมรับที่อยู่ในระนาบที่1มีดงนี้

      Balti
      Blissymbols
      Cirth
      Indus script
      Manichaean
      Meroitic
      Old Hungarian
      Old Permic
      Soyombo
      Tengwar




      ระนาบเพิ่มเติมสาหรับอักษรภาพแสดงความหมาย (ระนาบที่ 2)
      Supplementary      Ideographic   Plane    (SIP)      ถูกใช้ไปแล้วประมาณ                    40,000
ในการแทนคาที่ใช้แทนความคิดหรือคาพูด
      CJK Unified Ideographs Extension B (20000–2A6DF)
      CJK Compatibility Ideographs Supplement (2F800–2FA1F)


                                           ่
       ระนาบเพิ่มเติมสาหรับตัวอักษรลาดับที3(ระนาบที่ 3)
       Tertiary Ideographic Plane ใช้แทนภาษาจีนโบราณในยุคสามก๊ก (Old Hanzi Period)
      00030000-000317FF             Oracle Bone Script
      00031800-00031FFF             unassigned
      00032000-00032FFF              Bronze Script
      00033000-00033FFF             unassigned
      00034000-000368FF              Small Seal Script
      00036900-0003FFFD             unassigned
        ระนาบที่ยังไม่ได้นาไปใช้งาน (ระนาบที่ 4 ถึง ระนาบที่ 13)
        ยังไม่มีการกาหนดค่าให้กับระนาบที่ 4 ถึง ระนาบที่ 13 รวมถึงยังไม่ได้มีการกาหนดขนาด

         ระนาบสาหรับวัตถุประสงค์พิเศษ (ระนาบที่ 14)
         Plane 14 (E in hexadecimal), ส่วนเพิ่มเติมสาหรับวัตถุประสงค์เฉพาะ (SSP: Supplementary
Special- purpose Plane) ปัจจุบันใช้แทนค่าตัวอักขระที่ไม่ใช่กราฟิกในสองกลุ่มคือ 128 ใช้แทน
ค่าตัวอักขระแบบแทก (Tag Language) ที่ยังไม่สามารถแทนค่าได้ตามปกติตัวอย่างเช่นในภาษา
                          ่
เอกซ์เอ็มแอล(XML) และกลุมระเบียน 240 ใช้แทนค่าตัวอักขระที่ไม่สามารถเขียนแทนได้ในข้อความทั่วไป
มีการกาหนดค่าดังนี้

       000E0000-000E007F      Tag characters
       000E0080-000E00FF      unassigned
       000E0100-000E01EF      Variation Selectors
       000E01F0-000EFFFD      unassigned


        ระนาบสงวนการใช้งาน (ระนาบที่ 15 และ ระนาบที่ 16)
        ระนาบทั้ง 15 และ 16 นี้ถูกออกแบบโดยกรรมการชุดอื่น ที่ไม่ใช่จากหน่วยงานของไอเอสโอ หรือ
คณะกรรมการของยูนิโค้ด            เพื่อรองรับการทางานของอักขระบางกลุ่มที่มีลักษณะพิเศษ    เช่น
เขียนจากขวาไปซ้าย เป็นต้น

ข้อจากัดและปัญหา

        มีการวิจารณ์ Unicode เกี่ยวกับปัญหาทางเทคนิค และข้อจากัดต่างๆ อย่างไรก็ดี Unicode
ได้กลายเป็นวิธีการเข้ารหัสที่ใช้กันมากที่สุดในการทาให้ซอฟต์แวร์และระบบปฏิบัติการใช้ได้หลายภาษาพ
ร้อม ๆ กัน       ระบบปฏิบัติการตระกูลวินโดวส์ ได้แก่ Windows NT, Windows 2000 และ Windows XP
ใช้รหัส Unicode แบบ UTF-16 ในการเข้ารหัสข้อความ ระบบปฏิบัติการที่คล้ายกับ Unix เช่น GNU/Linux
BSD และ Mac OS X ก็ได้นา Unicode แบบ UTF-8 มาใช้เป็นพื้นฐานของการแทนข้อความที่มีหลายภาษา
การรองรับภาษาไทยใน Unicode
ได้รับการวิพากษ์วิจารณ์เนื่องจากว่าลาดับเรียงตัวอักษรนั้นไม่ถูกต้องตามที่ควรจะเป็น ซึ่งเป็นเพราะว่า
Unicode ในส่วนภาษาไทยได้อ้างอิงรูปแบบเดิมจาก Thai Industry Standard 620 (TIS-620)
ที่มีปัญหานี้เช่นกัน จึงทาให้การเทียบเรียงลาดับ Unicode ยุ่งยากขึ้น และในบางอักขระเช่น Proto-Sinaitic,
Klingon pIQaD, Aiha,Jindai scripts ก็ยังไม่ได้มีการรองรับและบรรจุลงใน Unicode
เนื่องจากไม่มีความเสถียร




เอกสารอ้างอิง

        Unicode Consortium, Unicode : Unicode ... a new milestone in the definition of the
standard(http://www.unicode.org/)

        มูลนิธิวิกิมีเดีย, ยูนิโคด : (http://th.wikipedia.org/wiki/Unicode)

        ThaiHostTalk.com, UTF-8 และ Unicode ต่างกันอย่างไร?

        http://www.thaihosttalk.com/th1/index.php/topic,5706.0.html

        Google Blog, Moving to Unicode 5.1: Insights from Googlers into our products, technology, and
        the Google culture.( http://googleblog.blogspot.com/2008/05/moving-to-unicode-51.html)

				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:244
posted:12/21/2010
language:Thai
pages:11
Description: Planes in Unicode Currency symbols