キャラクタコードの情報
|
|
|
0 | 1 |
2 | 3 |
4 | 5 |
6 | 7 |
8 | 9 |
A | B |
C | D |
E | F |
0 | \0 | | | 0 | @ | P | ` | p | | | | ー | タ | ミ | | |
1 | | | ! | 1 | A | Q | a | q | | | 。 | ア | チ | ム | | |
2 | | | " | 2 | B | R | b | r | | | 「 | イ | ツ | メ | | |
3 | | | # | 3 | C | S | c | s | | | 」 | ウ | テ | モ | | |
4 | | | $ | 4 | D | T | d | t | | | 、 | エ | ト | ヤ | | |
5 | | | % | 5 | E | U | e | u | | | ・ | オ | ナ | ユ | | |
6 | | | & | 6 | F | V | f | v | | | ヲ | カ | ニ | ヨ | | |
7 | \a | | ' | 7 | G | W | g | w | | | ァ | キ | ヌ | ラ | | |
8 | \b | | ( | 8 | H | X | h | x | | | ィ | ク | ネ | リ | | |
9 | \t | | ) | 9 | I | Y | i | y | | | ゥ | ケ | ノ | ル | | |
A | \n | | * | : | J | Z | j | z | | | ェ | コ | ハ | レ | | |
B | \v | ESC | + | ; | K | [ | k | { | | | ォ | サ | ヒ | ロ | | |
C | \f | | , | < | L | \ | l | | | | | ャ | シ | フ | ワ | | |
D | \r | | - | = | M | ] | m | } | | | ュ | ス | ヘ | ン | | |
E | SO | | . | > | N | ^ | n | ~ | | | ョ | セ | ホ | ゙ | | |
F | SI | | / | ? | O | _ | o | | | | ッ | ソ | マ | ゚ | | |
|
SHIFT JIS 漢字の第一バイトかどうかは、IsDBCSLeadByte 関数 で調べる事ができます
この関数は、ANSIコードページを使って、先導バイトの範囲を調べます
0x81 ~ 0x9F と 0xE0 ~ 0xFC を先導バイトとして判断しますが、全ての範囲で実際に漢字が定義されているわけではありません
この関数を用いて、0x5c を含む漢字を調べる 事ができます
ASCIIコードは左半分の128種類のコードを指します。カタカナ部分を含めてJIS X 0201です
|
先導バイトの判断
|
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
int i;
for( i = 0x0000007f; i <= 0x000000A0; i++ ){
if ( IsDBCSLeadByte( (BYTE)i ) ) {
printf( "%x : true \n", 0x000000ff & i );
}
else {
printf( "%x : false \n", 0x000000ff & i );
}
}
for( i = 0x000000E0; i <= 0x000000FF; i++ ){
if ( IsDBCSLeadByte( (BYTE)i ) ) {
printf( "%x : true \n", 0x000000ff & i );
}
else {
printf( "%x : false \n", 0x000000ff & i );
}
}
return 0;
}
|
7f : false
|
80 : false
81 : true
82 : true
83 : true
84 : true
85 : true
86 : true
87 : true
88 : true
89 : true
8a : true
8b : true
8c : true
8d : true
8e : true
8f : true
|
90 : true
91 : true
92 : true
93 : true
94 : true
95 : true
96 : true
97 : true
98 : true
99 : true
9a : true
9b : true
9c : true
9d : true
9e : true
9f : true
|
a0 : false
|
e0 : true
e1 : true
e2 : true
e3 : true
e4 : true
e5 : true
e6 : true
e7 : true
e8 : true
e9 : true
ea : true
eb : true
ec : true
ed : true
ee : true
ef : true
|
f0 : true
f1 : true
f2 : true
f3 : true
f4 : true
f5 : true
f6 : true
f7 : true
f8 : true
f9 : true
fa : true
fb : true
fc : true
fd : false
fe : false
ff : false
|
5Cを含む漢字
|
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
int i;
for( i = 0x0000007f; i <= 0x000000A0; i++ ){
if ( IsDBCSLeadByte( (BYTE)i ) ) {
printf( "%x5c : %c%c\n", 0x000000ff & i, 0x000000ff & i, 0x5c );
}
}
for( i = 0x000000E0; i <= 0x000000FF; i++ ){
if ( IsDBCSLeadByte( (BYTE)i ) ) {
printf( "%x5c : %c%c\n", 0x000000ff & i, 0x000000ff & i, 0x5c );
}
}
return 0;
}
|
815c : ―
825c : ・
835c : ソ
845c : Ы
855c : ・
865c : ・
875c : Ⅸ
885c : ・
895c : 噂
8a5c : 浬
8b5c : 欺
8c5c : 圭
8d5c : 構
8e5c : 蚕
8f5c : 十
905c : 申
915c : 曾
925c : 箪
935c : 貼
945c : 能
955c : 表
965c : 暴
975c : 予
985c : 禄
995c : 兔
9a5c : 喀
9b5c : 媾
9c5c : 彌
9d5c : 拿
9e5c : 杤
9f5c : 歃
e05c : 濬
e15c : 畚
e25c : 秉
e35c : 綵
e45c : 臀
e55c : 藹
e65c : 觸
e75c : 軆
e85c : 鐔
e95c : 饅
ea5c : 鷭
eb5c : ・
ec5c : ・
ed5c : 偆
ee5c : 砡
ef5c : ・
f05c :
f15c :
f25c :
f35c :
f45c :
f55c :
f65c :
f75c :
f85c :
f95c :
fa5c : 纊
fb5c : 犾
fc5c : ・
|