PicoWorkshop
技術情報/Pico Workshop
文字コード (Charactor set)
現在日本主に使われている文字コードセットは以下の通りです。
文字コード
セット
エンコーディング主に使われている用途 環境 特徴unicodeUTF88ビット単位の可変長コード(1?4バイト)にエンコードする方式。ASCIIに対して上位互換となっており、文字の境界が明確である、エンコード・デコードに際して乗除算などの負荷の高い処理が必要ないなどの特長を持ち、インターネットではもっとも一般的に利用されている。unicodeUTF-16BMP (基本多言語面) を16bit、その他をサロゲートペア(Surrogate Pair)という仕組みを使い32bitで表す。Windows
XPなど近年のOSの内部では、この形式が使われている。Shift-JISShift_JIS-2004MS-DOSの時代から広く使われている文字コード。漢字文字コードとして、「JISコード」を変形させたもの(シフトしたもの)を利用して、ANSI文字と共存させているのでこう呼ばれる。
Shift_JISでは、「噂」など一部の字の2バイト目に、0x5C(日本語環境では¥記号、英語環境ではバックスラッシュ)を使用している。この0x5Cを多くのプログラミング言語においてエスケープシーケンスとして認識し、初期のMS-DOSやJavaScript、CGI処理などで様々な問題が起こる。
EUC-JPASCII +
JIS X 0208日本語EUC (EUC-JP) はUNIX上で日本語の文字を扱う場合にもっとも多く利用されている文字コード(符号化方式)のひとつ。
ISO-2022-JP
(JIS)ISO-2022-JPISO-2022-JPは、インターネット上(特に電子メール)などで使われる日本の文字用の文字符号化方式。ISO/IEC 2022のエスケープシーケンスを利用して文字集合を切り替える7ビットのコードである。
ANSI
(ASCII)-英数字記号文字を含む、7bitの基本的な文字コード。
サロゲートペア(Surrogate Pair)
Unicodeは 216 = 65,536 種類の文字を収録でき、当初の構想では世界中のすべての文字をこの16ビット固定長のコード体系に登録可能と思われていたが、Unicode
1.0公表後、拡張可能な空き領域2万字分を巡り、各国から文字追加要求が起こった。その内容は中国、日本、台湾、ベトナム、シンガポールの追加漢字約1万5千字、古ハングル約5千字、未登録言語の文字等々である。このため、Unicodeの16ビット枠内に全世界の文字を収録するという計画は早々に破綻し、1996年、Unicode
2.0ではサロゲートペア (Surrogate Pair) の拡張が盛り込まれた。Surrogateは「代理」、Pairは「対(つい)」の意味。
エスケープシーケンスこそ使用しないものの、16ビット文字コード体系との互換性を維持するために、UTF-16(16ビットを基本単位とする文字符号化方式)を採用した結果、Unicodeは16ビットと32ビットが混在する複雑な可変長文字コードとなってしまった。
サロゲートペアの方式は16ビット固定長を志向したUTF-16との互換性維持のために設けられた拡張であり、UTF-8符号化方式やUTF-32符号化方式では利用できない。
ANSI (ASCII)
BINDECHEX略図形表現Ctrl+名前/意味000 0000000NUL?@空文字000 0001101SOH?Aヘッダ開始000 0010202STX?Bテキスト開始000 0011303ETX?Cテキスト終了000 0100404EOT?D転送終了000 0101505ENQ?E問い合わせ000 0110606ACK?F肯定応答000 0111707BEL?Gベル000 1000808BS?H1文字後退000 1001909HT?I水平タブ000 1010100ALF?J改行000 1011110BVT?K垂直タブ000 1100120CFF?L改ページ000 1101130DCR?M復帰000 1110140ESO?Nシフトアウト000 1111150FSI?Oシフトイン001 00001610DLE?Pデータリンク拡張001 00011711DC1?Q装置制御1,XON001 00101812DC2?R装置制御2001 00111913DC3?S装置制御3,XOFF001 01002014DC4?T装置制御4001 01012115NAK?U否定応答001 01102216SYN?V同期信号001 01112317ETB?Wブロック転送終了001 10002418CAN?Xキャンセル001 10012519EM?Y媒体終端001 1010261ASUB?Z置換001 1011271BESC?[エスケープ001 1100281CFS?\ファイルセパレータ001 1101291DGS?]グループセパレータ001 1110301ERS?^レコードセパレータ001 1111311FUS?_ユニットセパレータ111 11111277FDEL?削除
注:上の表の第5列には制御文字をあらわす図形文字のコードが入っているが、インストールしてあるフォントなどの環境によっては表示されないかもしれない。
33~126は印刷可能な文字(printable characters)
BINDECHEX文字010 00003220間隔
(?)010 00013321!010 00103422"010 00113523#010 01003624$010 0101