文字コード判別のための基礎情報
文字コード を判別するプログラムを書くためには、まずは判別のための資料が必要です。その資料を探し回ってまとめたので、ここに残します。
ISO2022JP(JIS)
1バイト | 0x00~0x1a/0x1c~0x7f |
エスケープシーケンス+1バイト | 0x1b+0x28+0x42, 0x20~0x7e |
エスケープシーケンス+2バイト | 0x1b+0x24+0x40, 0x21~0x7e, 0x21~0x7e 0x1b+0x24+0x42, 0x21~0x7e, 0x21~0x7e 0x1b+0x24+0x44, 0x21~0x7e, 0x21~0x7e |
Shift_JIS
1バイト | 0x00~0x7f/0xa1~0xdf |
2バイト | 0x81~0x9f/ 0xe0~0xef, 0x40~0x7e/0x80~0xfc |
EUC-JP
1バイト | 0x00~0x7f |
2バイト | 0x8e, 0xa1~0xdf 0xa1~0xfe, 0xa1~0xfe |
3バイト | 0x8f, 0xa1~0xfe, 0xa1~0xfe |
UTF-8
BOM | 0xef+0xbb+0xbf(基本的にバイトストリームの先頭) |
1バイト | 0x00~0x7f |
2バイト | 0xc0~0xdf, 0x80~0xbf |
3バイト | 0xe0~0xef, 0x80~0xbf, 0x80~0xbf |
4バイト | 0xf0~0xf7, 0x80~0xbf, 0x80~0xbf, 0x80~0xbf |
5バイト | 0xf8~0xfb, 0x80~0xbf, 0x80~0xbf, 0x80~0xbf, 0x80~0xbf |
6バイト | 0xfc~0xfd, 0x80~0xbf, 0x80~0xbf, 0x80~0xbf, 0x80~0xbf, 0x80~0xbf |