PalmDreams 本文へジャンプ
PicoWorkshop

技術情報/Pico Workshop



文字コード (Charactor set)

現在日本主に使われている文字コードセットは以下の通りです。

文字コード
セット
エンコーディング 主に使われている用途 環境 特徴
unicode UTF8 8ビット単位の可変長コード(1?4バイト)にエンコードする方式。ASCIIに対して上位互換となっており、文字の境界が明確である、エンコード・デコードに際して乗除算などの負荷の高い処理が必要ないなどの特長を持ち、インターネットではもっとも一般的に利用されている。
unicode UTF-16 BMP (基本多言語面) を16bit、その他をサロゲートペア(Surrogate Pair)という仕組みを使い32bitで表す。Windows XPなど近年のOSの内部では、この形式が使われている。
Shift-JIS Shift_JIS-2004 MS-DOSの時代から広く使われている文字コード。漢字文字コードとして、「JISコード」を変形させたもの(シフトしたもの)を利用して、ANSI文字と共存させているのでこう呼ばれる。

Shift_JISでは、「噂」など一部の字の2バイト目に、0x5C(日本語環境では¥記号、英語環境ではバックスラッシュ)を使用している。この0x5Cを多くのプログラミング言語においてエスケープシーケンスとして認識し、初期のMS-DOSやJavaScript、CGI処理などで様々な問題が起こる。

EUC-JP ASCII +
JIS X 0208
日本語EUC (EUC-JP) はUNIX上で日本語の文字を扱う場合にもっとも多く利用されている文字コード(符号化方式)のひとつ。
ISO-2022-JP
(JIS)
ISO-2022-JP ISO-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)
BIN DEC HEX 図形表現 Ctrl+ 名前/意味
000 0000 0 00 NUL ? @ 空文字
000 0001 1 01 SOH ? A ヘッダ開始
000 0010 2 02 STX ? B テキスト開始
000 0011 3 03 ETX ? C テキスト終了
000 0100 4 04 EOT ? D 転送終了
000 0101 5 05 ENQ ? E 問い合わせ
000 0110 6 06 ACK ? F 肯定応答
000 0111 7 07 BEL ? G ベル
000 1000 8 08 BS ? H 1文字後退
000 1001 9 09 HT ? I 水平タブ
000 1010 10 0A LF ? J 改行
000 1011 11 0B VT ? K 垂直タブ
000 1100 12 0C FF ? L 改ページ
000 1101 13 0D CR ? M 復帰
000 1110 14 0E SO ? N シフトアウト
000 1111 15 0F SI ? O シフトイン
001 0000 16 10 DLE ? P データリンク拡張
001 0001 17 11 DC1 ? Q 装置制御1,XON
001 0010 18 12 DC2 ? R 装置制御2
001 0011 19 13 DC3 ? S 装置制御3,XOFF
001 0100 20 14 DC4 ? T 装置制御4
001 0101 21 15 NAK ? U 否定応答
001 0110 22 16 SYN ? V 同期信号
001 0111 23 17 ETB ? W ブロック転送終了
001 1000 24 18 CAN ? X キャンセル
001 1001 25 19 EM ? Y 媒体終端
001 1010 26 1A SUB ? Z 置換
001 1011 27 1B ESC ? [ エスケープ
001 1100 28 1C FS ? \ ファイルセパレータ
001 1101 29 1D GS ? ] グループセパレータ
001 1110 30 1E RS ? ^ レコードセパレータ
001 1111 31 1F US ? _ ユニットセパレータ
111 1111 127 7F DEL ? 削除

注:上の表の第5列には制御文字をあらわす図形文字のコードが入っているが、インストールしてあるフォントなどの環境によっては表示されないかもしれない。




ページの先頭へ



ANSI (ASCII)

33~126は印刷可能な文字(printable characters)

BIN DEC HEX 文字
010 0000 32 20 間隔
(?)
010 0001 33 21 !
010 0010 34 22 "
010 0011 35 23 #
010 0100 36 24 $
010 0101 37 25 %
010 0110 38 26 &
010 0111 39 27 '
010 1000 40 28 (
010 1001 41 29 )
010 1010 42 2A *
010 1011 43 2B +
010 1100 44 2C ,
010 1101 45 2D -
010 1110 46 2E .
010 1111 47 2F /
011 0000 48 30 0
011 0001 49 31 1
011 0010 50 32 2
011 0011 51 33 3
011 0100 52 34 4
011 0101 53 35 5
011 0110 54 36 6
011 0111 55 37 7
011 1000 56 38 8
011 1001 57 39 9
011 1010 58 3A :
011 1011 59 3B ;
011 1100 60 3C <
011 1101 61 3D =
011 1110 62 3E >
011 1111 63 3F ?
 
BIN DEC HEX 文字
100 0000 64 40 @
100 0001 65 41 A
100 0010 66 42 B
100 0011 67 43 C
100 0100 68 44 D
100 0101 69 45 E
100 0110 70 46 F
100 0111 71 47 G
100 1000 72 48 H
100 1001 73 49 I
100 1010 74 4A J
100 1011 75 4B K
100 1100 76 4C L
100 1101 77 4D M
100 1110 78 4E N
100 1111 79 4F O
101 0000 80 50 P
101 0001 81 51 Q
101 0010 82 52 R
101 0011 83 53 S
101 0100 84 54 T
101 0101 85 55 U
101 0110 86 56 V
101 0111 87 57 W
101 1000 88 58 X
101 1001 89 59 Y
101 1010 90 5A Z
101 1011 91 5B [
101 1100 92 5C \
101 1101 93 5D ]
101 1110 94 5E ^
101 1111 95 5F _
 
BIN DEC HEX 文字
110 0000 96 60 `
110 0001 97 61 a
110 0010 98 62 b
110 0011 99 63 c
110 0100 100 64 d
110 0101 101 65 e
110 0110 102 66 f
110 0111 103 67 g
110 1000 104 68 h
110 1001 105 69 i
110 1010 106 6A j
110 1011 107 6B k
110 1100 108 6C l
110 1101 109 6D m
110 1110 110 6E n
110 1111 111 6F o
111 0000 112 70 p
111 0001 113 71 q
111 0010 114 72 r
111 0011 115 73 s
111 0100 116 74 t
111 0101 117 75 u
111 0110 118 76 v
111 0111 119 77 w
111 1000 120 78 x
111 1001 121 79 y
111 1010 122 7A z
111 1011 123 7B {
111 1100 124 7C |
111 1101 125 7D }
111 1110 126 7E ~


ページの先頭へ







ページの先頭へ