ããã°ã©ãã®ããã®æåã³ã¼ãæè¡å ¥éãèªãã
ä¾ãã°ã次ã®è¨èã®æå³ãç¥ããããèãããã¨ããããã©ããåãã£ã¦ããªãããã°ã©ãã«ã¨ã£ã¦ããå§ãã®æ¸ç±ã ãUnicode/UTF-8/UTF-16/USC-2/JIS X0208/JIS X0212/JIS X0213/SJIS/EUC-JP/CP932/ISO-2022-JP/ASCII/Latin-1/ISO 10646/ISO 8859-1/ãµãã²ã¼ããã¢/æååã/æ©ç¨®ä¾åæå/åè§ã«ã/çµµæåâ¦
JIS X0208ãJIS X0213ã®è§£èª¬ãªã©ã¯å§å·»ã§ãããæ¸ç±ã«ã¯Webã«ãªãå©ç¹ããããWebã«ã¯å³ææ§ãããããæåã³ã¼ãã®è§£èª¬ã«ããã¦ã¯ãå³ææ§ã¯ããã»ã©æ±ããããªããåä½ãªããåå½¢ã®å·®ç°ã«ã¤ãã¦Webã§ã¯ãã®åä½ãªããåå½¢ããªããã°è¡¨ç¾ãããããªãããæ¸ç±ã§ããã°ç´°é¨ã¾ã§ãã ãã£ã¦è¡¨ç¾ã§ããã
ä¾ãã°ãå æããããè¾»ãã¨ããåã®ä¸ç¹ããã«ããã¨äºç¹ããã«ããã®åä½ã®å·®ã¯Webã§ã¯è¡¨ç¾ãããããªããUnicodeã«å«ã¾ãã¦ããªãæåãWebã§ã¯è¡¨ç¾ãããããªãããããæ¸ç±ã§ããã°ãæåéãããã®åå½¢ã表ç¾ããã¦ããã®ã§ãä¸ç®çç¶ã§ããã
ããã°ã©ãã³ã°è¨èªã¨æåã³ã¼ãã®ç« ã§ã¯Javaã¨Ruby 1.8ããã³1.9ãé¡æã¨ãã¦åãä¸ãã¦ãããJavaã¯å½åããUnicodeãcharã¨ãã¦è¨è¨ãã¦ããæ°å°ãªãè¨èªã§ãããä¸æ¹Rubyã¯1.9ã«ããã¦å é¨ã³ã¼ããCSI(character set independent)ã«ãããããããã®ç¹å¾´ã«ã¤ãã¦ãããããã解説ãã¦ããã
ã¾ãã第8ç« ã«ã¯ããã¯ã¾ããããè½ã¨ãç©´ã¨ãã®å¯¾å¦ãã¨ãããã©ãã«ã·ã¥ã¼ãã£ã³ã°ã®å¾åã¨å¯¾çãè¨ããã¦ããããAppendixã«ã¯ãISO/IEC 2022ã®ããå°ãã ã詳ãã説æããJIS X0213ã®ç¬¦å·åæ¹å¼ã諸å¤å½ã»å°åã®æåã³ã¼ãæ¦èª¬ãï¼ãããã¯åæé®®ã®æåã³ã¼ããKPS 9566ã¨ããã®ãåãã¦ç¥ã£ãï¼ãããã¦Unicodeã®è«¸åé¡ã¨ãããã¨ã§çµµæåã®æ¨æºåãªã©ãåãä¸ãã¦ããã
ããã°ã©ãã«ã¨ã£ã¦å¿ è¦ãªæåã³ã¼ãã®æè¡ç課é¡ã«ã¤ãã¦ç¶²ç¾ çã«ãã©ã³ã¹ããåãä¸ãããã¦ãã¦ãå ¥éæ¸ã¨ãã¦ã¯æé©ã ã¨æããããã«çªã£è¾¼ãã ãã¨ãç解ããããã°ãå½éæ¨æºãªã©åå ¸ã«ãããã°ãããæ¬æ¸ã®ç¥èãããã°ãæ¨æºãªã©ãèªã¿ããªããã¨æãã
è¯æ¸ã§ããã
é話ä¼é¡
æåã³ã¼ãã¨ãããé¡ã§ããããæ話ãããããããã¾ãæ話ãããããããã®æ話ã¯ããããã ããã¨ãã人ã¯ä¸è¨ã©ããã¹ã«ã¼ãã¡ãã£ã¦ãã ãããï¼ãºããï¼
æåã³ã¼ãã®ã話ã¯ãããã«æ¨æºã®çªå·ãä¾ãã°JIS X0208ã¨ãISO/IEC 10646ã¨ãããã®ããããªãçªå·ãåºã¦ãã¦åã£ã¤ãã«ããããWebã®æ å ±ãªããããæ¬å½ãªã®ãæ¬å½ãããªãã®ããæ£ããã®ãæ£ãããªãã®ããããããããªãçç³æ··åã®ãã®ã«ããµãã¦ãã¦ãåå¿è ã«ã¯æ·å± ãé«ããã®ã®ä¸ã¤ã ã¨æããå 輩ã«èãã¦ããè¦é ãå¾ãªãããå°ã£ããªã¨ããé¡ã®ãã®ãã¨æãã
ããã¨ãã¦ã¯æåã³ã¼ãã¯æ¼ããã¦ç½®ãããã¨ããã§ããããä»ã²ã¨ã¤èå³ããããªããã¨åæã«æ³åãã¦æ¸ãã¦ããã®ã§ããããæåã³ã¼ããä¸åº¦ã®é£¯ãã好ãã¨ãã人ãããªãã¯ãªãã¨æãããããã¯ä¾å¤ã
ããããããã°ã©ããå§ãã80年代ä¸é ã«ã¯ãUnicodeã¯ãªãã£ãã®ã§ããããããªäººããä¸çä¸ã®æåãéãã大ããªæåã³ã¼ãã¯ãã©ã¼ããã¹ããã¨è©¦è¡é¯èª¤ãã¦ããæ代ã ã£ãã
æ å ±äº¤æç¨æ¼¢å符å·ï¼X0208ï¼ã¨ããJISã®è¦æ ¼ããã£ã¦ãããã®1990å¹´æ¹æ£ã®å§å¡ä¼ã«ãªããåºããã¨ã«ãªã£ãã®ã1988å¹´ã®ããããã¼ãã¦ã§ã¢ãã³ãã¼ã®ã¨ã©ã人ã¨ãå½ç«å½èªç 究æã®ã¨ã©ã人ã¨ããéã ããå§å¡ãããå§å¡ä¼ã®æ«å¸ãæ±ãã¦ããã®ã20代ã®è¥é ã§ãããããã ã£ããã¾ãããã®ãããã§æåã³ã¼ãã®ã¢ã¼ããã¯ãã£ã¨ããUnicodeãããã¯ISO/IEC 10646ã®éçºãæ¨æºåã®ããã»ã¹ãã©ã¤ãã§ä½é¨åºæ¥ãã®ã¯æ¬å½ã«å¥åï¼ãããããï¼ã§ãã£ãã
æåã³ã¼ãã®æ¨æºãä½ãã¨ããã®ã¯æ å ±åæ代ã®è¾å ¸ãä½ããããªä½æ¥ã§ãããããããã¯ããã§å¤§å¤ãªä½æ¥ã§ãããã©ãä¸è¬ã«ã¯ç¥ããã¦ããªããããããããããã
æ¬æ¸ã®3ç« ã«JIS X0208ã®è§£èª¬ããã£ã¦ãéå»ã®æ¹æ£ã®æ¦ç¥ãªã©ãè¼ã£ã¦ããã
å¤ãã®äººã¯ç¥ããªãããçãããæ¥é å©ç¨ãã¦ãããã®æ¼¢å符å·ã¯1978å¹´ã«æåã«æ¨æºã«ãªã£ã¦ããã83å¹´ã90å¹´ã97å¹´ã¨å¤§ããªæ¹æ£ãããã¦ããã83å¹´ã¨ããæ代èæ¯ã¯ä¸ã®ä¸ã®æ å ±å¦çã®çéã¯ã¡ã¤ã³ãã¬ã¼ã ãå¸ã£ã¦ãããPCã¯åºå§ããããã§ãITæ¥çã®ã¡ã¤ã³ã¹ããªã¼ã ã§ã¯ãªãã£ããæ¨æºãã¡ã¤ã³ãã¬ã¼ãã決ãããã®ã¨ãããããªæ代ã ã£ãããã¤ã¯ãã½ããã¯ããã»ã©åãæã£ã¦ããªãã£ãã®ã§ãã·ããJISããã®å¾ãæ¥çæ¨æºã«ãªãã¨ãããã¨ã¯èª°ãäºæ³ãã¦ããªãã£ãï¼ãã¤ã¯ãã½ããã®å¤å·ããã¨ãã¯äºæ³ãã¦ãããããããªãããã©ãããã¯å°æ°æ´¾ã ã£ãï¼ã80年代ä¸é ãUnixã¯ã¼ã¯ã¹ãã¼ã·ã§ã³ãåºå§ãã®ããã ã£ãã®ã§ãDECæ¼¢åã³ã¼ããåèã«EUCãªã©ãéçºããã¦ããããæ¥çã®ç§©åºã¯ã¡ã¤ã³ãã¬ã¼ã ãã³ãã¼ãæ¡ã£ã¦ããã
1983å¹´ã®æ¼¢å符å·ã®æ¹æ£ã¯ãåä½ã®å¤æ´ã¨ç¬¦å·ä½ç½®ã®å ¥ãæ¿ãã¨ãããä»èããã¨ããããªãã ããããã¯ã¨ãããããªã©ãã£ã«ã«ãªæ¹æ£ããã£ã¦ã®ããã
åä½ã®å¤æ´ã¨ããã®ã¯ã森é´å¤ã®ãé´ãã®ç·¨ããåããããåºãã¨ãã風ã«å¤ãã¦ãã¾ã£ããä»ã§ãããé´ãã¨ããåä½ãè¦æ £ãããã83å¹´å½æã大ããªåé¡ã«ãªã£ããä¾ãã°ãå½èªã®å çãããã¹ããä½ãã¨ãã森é´å¤ããªã©ã¨ããã¨ãééã£ãæåãåºã¦ããã¨ãããã¨ã§ãã³ãã¼ã«è¦æ ãè¡ã£ããããããã®åä½ã®å¤æ´ã¨ããã®ã大èã«ãã£ã¦ãå°è¦æ¨¡ãªãã®ãå«ããã¨300æåè¿ãã®æåã®åä½ãå¤æ´ãããã®ã§ããã
符å·ä½ç½®ã®å ¥ãæ¿ãã¨ããã®ã¯ãé´¬ï¼ããããï¼ã鶯ã¨ããï¼ã¤ã®ç°ä½åããã£ã¦ãåè ã第1æ°´æºã«ãå¾è ã第2æ°´æºã«ãç¾å¨ã®æ¨æºã§ã¯ãªã£ã¦ããã®ã ããã©ã1978å¹´ã®è¦æ ¼ã§ã¯éã«ãªã£ã¦ãã¦ã83å¹´ã®æ¹æ£ã§å ¥ãæ¿ãããããã®ã§ãããããã22çµããã¨ããã¦ããã
ããããªãã§ãã符å·ä½ç½®ãå ¥ãæ¿ããã®ã¯ã¾ããã§ããããã¨ãããããªãã¨ãããªãç¡é çã«å¤§èã«è¡ã£ãã®ã83å¹´æ¹æ£ãªã®ã§ããã
90å¹´æ¹æ£ã¯ã(1)ãã®83å¹´æ¹æ£ã®æ··ä¹±ãã©ãã«ãåæ¾ãããã¨ããã®ã¨ã(2)足ããªãæåã追å ããã¨ããè¦æ±ã«ã©ãçããããã¨ããï¼ã¤ã®ç®çã§éçºããããå®ã®ã¨ãããä¸åº¦è¦æ ¼ãä½ã£ã¦ãã¾ã£ã¦ããã«ããå®è£ ãåºãä¸ã®ä¸ã«åºã¦ãã¾ã£ã以ä¸ã83å¹´æ¹æ£ãã¡ããã«ãã¦ï¼æ¬å½ã¯ã¡ããã«ãããã£ãã®ã§ãããï¼ã78å¹´ã«æ»ãã¾ãããã¨ããã®ã¯äºå®ä¸ã§ããªãã®ã§ãããå¾ã£ã¦ãæªæ³ãæ³ãªãã¨ãããã¨ã§ããã®é¨åã«ã¤ãã¦ã¯å¡©æ¼¬ã«ãã¦ã追å æåã«ã¤ãã¦ã©ããããã¨ããã®ãJISåæ¡ä½æå§å¡ä¼ã®ä¸»ãªãã¼ãã§ãã£ãã
æ¬æ¸ã«ããã¦ã¯ãX0208ã®90å¹´æ¹æ£ã«ã¤ãã¦ããã11è¡ã§è§£èª¬ããã¦ãã¦ãã»ã¨ãã©ãªãã£ããã¨ã«ãªã£ã¦ãããå®ã¯X0208ã®æ¹æ£æã«JIS X0212ã¨ããã®ãåæã«éçºãããã®ã§ããããã®X0212ãããX0208ã®90å¹´æ¹æ£ã®ç®çã«ãªãã¯ã¥ã§ãã£ããã¤ã¾ãå½åX0212ã¨ããã®ã¯ç¬ç«ããè¦æ ¼ã§ã¯ãªããX0208ã«è¶³ããªãæåãåæ¾ããX0208ã®æ¹æ£ã¨ãã¦åãè¾¼ãã¨ããæèã§éçºãã¦ããã®ã§ããã
çµå±X0208ã®æ¹æ£ã¨ãã¦6000æåãè¶ããããããªæåã®è¿½å ãããã¨ã¯ãã³ãã¼ã®å¼·ãå対ã«ãã£ã¦å®ç¾ãããX0212ã¨ããå¥è¦æ ¼ã¨ãã¦æ¥µãã¦ä½¿ãã«ããå½¢ã§å¶å®ããããããã¦ãã³ãã¼ã¯è£å©æ¼¢åã«ã¤ãã¦ä½¿ãã«ãããããã¨ã«ãã£ã¦ãªãã£ããã¨ã«ããã®ã§ããããUnicodeã«æ¡ç¨ãããã®ã§ãç®èãªãã¨ã«Unicodeãæ®åããã«ã¤ãã¦X0212ã«å«ã¾ãã¦ããæåãå©ç¨ã§ããããã«ãªã£ãã®ã§ããã
ãã®å¾Unicodeãæ®åãã¦è¡ã£ãã®ã¯çæ§ã®ç¥ãã¨ããã§ããã
åããã¦èªã¿ããï¼ ããããUnicodeã«ã¤ãã¦ä¸è¨ãã£ã¦ããã -- æªæ¥ã®ãã¤ã/hyoshiokã®æ¥è¨ http://d.hatena.ne.jp/hyoshiok/20090419#p2