- 追加された行はこの色です。
- 削除された行はこの色です。
殆どというか、Cでしか書いていないのはご愛嬌でw
実行環境はCentOS5のコンパイル環境。文字コード設定はもちろんUTF-8
殆どというか、Cでしか書いていないのはご愛嬌でw~
実行環境はCentOS5のコンパイル環境。文字コード設定はもちろんUTF-8~
「ヴ」から「ヶ」はCP932(Windows XP)ひらがなで入力が出来ないので対象外。~
* source [#sf6b7f24]
* source カタカナ [#sf6b7f24]
#include <string>
#include <iostream>
int main()
{
char kanaa[] = "あい";
char hiragana[] = "ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん ゝゞ";
char katakana[] = "ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶヽヾ";
int i,j;
printf("sizeof(char): %d\n", (int)sizeof(char));
printf("sizeof(unsigned char): %d\n", (int)sizeof(unsigned char));
printf("sizeof(short int): %d\n", (int)sizeof(short int));
printf("sizeof(unsigned short int): %d\n", (int)sizeof(unsigned short int));
printf("sizeof(int): %d\n", (int)sizeof(int));
printf("sizeof(unsigned int): %d\n", (int)sizeof(unsigned int));
printf("sizeof(long int): %d\n", (int)sizeof(long int));
printf("sizeof(unsigned long int): %d\n", (int)sizeof(unsigned long int));
printf("sizeof(long long int): %d\n", (int)sizeof(long long int));
printf("sizeof(unsigned long long int): %d\n", (int)sizeof(unsigned long long int));
printf("sizeof(float): %d\n", (int)sizeof(float));
// printf("sizeof(unsigned float): %d\n", (int)sizeof(unsigned float));
printf("sizeof(double): %d\n", (int)sizeof(double));
// printf("sizeof(unsigned double): %d\n", (int)sizeof(unsigned double));
printf("sizeof \"%s\": %d\n", (char*) &kanaa, (int) sizeof(kanaa));
for( i=0 ; i<= (int) sizeof(kanaa) ; i++){
printf(" , %2x", kanaa[i]);
}
printf("\n\n");
printf("%s\n", (char*) &hiragana);
printf("%s\n", (char*) &katakana);
if( (int)sizeof(hiragana) == (int)sizeof(katakana)){
for( i=0 ; i< (int)sizeof(hiragana) ; i+=3){
printf("\"%c%c%c\" - \"%c%c%c\" = ",
hiragana[i],
hiragana[i+1],
hiragana[i+2],
katakana[i],
katakana[i+1],
katakana[i+2]);
for( j=0 ; j<=2 ; j++){
printf(" %2x ,", katakana[i+j] - hiragana[i+j] );
}
printf("\n");
for(j=0 ; j<=1 ; j++){
printf("%d\n",j);
if(j==0){
if(katakana[i+j] != (char)0xe3){
printf("not top 1 byte was 0xe3!\n");
break;
}
}
if(j==1){
printf("in 2 byte.\n");
if(katakana[i+j] == (char)0x82){
printf("katakana[i+j+1] & 0xe0(11100000) : hex: %2x, int: %u\n",
(char)katakana[i+j+1] & (char)0xe0,
(char)katakana[i+j+1] & (char)0xe0);
printf("katakana[i+j+1] >> 5 : hex: %2x, int: %u\n",
katakana[i+j+1] >> 5,
katakana[i+j+1] >> 5);
if( (katakana[i+j+1] & (char)0xe0) == (char)0xa0 &&
katakana[i+j+1] != (char)0xa0){
// in [ァ]-[タ]
printf("1: [ァ]-[タ] : %c%c%c ->char[2]-1 char[3] ^ 0x20 = %c%c%c\n\n",
katakana[i],
katakana[i+1],
katakana[i+2],
katakana[i],
katakana[i+1] - 1,
katakana[i+2] ^ 0x20);
}
}
if(katakana[i+j] == (char)0x83){
printf("katakana[i+j+1] & 0xe0(11100000) : hex: %2x, int: %u\n",
katakana[i+j+1] & (char)0xe0,
katakana[i+j+1] & (char)0xe0);
printf("katakana[i+j+1] >> 5 : hex: %2x, int: %u\n",
katakana[i+j+1] >> 5,
katakana[i+j+1] >> 5);
if( (katakana[i+j+1] & (char)0xe0) == (char)0x80 ){
// in [ダ]-[ミ]
printf("2: [ダ]-[ミ] : %c%c%c ->char[2]-2 char[3] ^ 0x20 = %c%c%c\n\n",
katakana[i],
katakana[i+1],
katakana[i+2],
katakana[i],
katakana[i+1] - 2,
katakana[i+2] ^ 0x20);
}
if( (katakana[i+j+1] & (char)0xe0) == (char)0xa0 &&
katakana[i+j+1] < (char)0xb4 ){
// in [ム]-[ン]
printf("3: [ム]-[ン]: %c%c%c ->char[2]-1 char[3] ^ 0x20 = %c%c%c\n\n",
katakana[i],
katakana[i+1],
katakana[i+2],
katakana[i],
katakana[i+1] - 1,
katakana[i+2] ^ 0x20);
}
}
}
}
printf("\n");
}
}else{
printf("invalid compare string.\n");
}
return 0;
}
using namespace std;
* 実行結果 カタカナ [#a6410ec3]
$ g++ -m32 kanatest1.cpp -o kanatest1
$ ./kanatest1
sizeof(char): 1
sizeof(unsigned char): 1
sizeof(short int): 2
sizeof(unsigned short int): 2
sizeof(int): 4
sizeof(unsigned int): 4
sizeof(long int): 4
sizeof(unsigned long int): 4
sizeof(long long int): 8
sizeof(unsigned long long int): 8
sizeof(float): 4
sizeof(double): 8
sizeof "あい": 7
, ffffffe3 , ffffff81 , ffffff82 , ffffffe3 , ffffff81 , ffffff84 , 0 , 7
ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん ゝゞ
ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶヽヾ
"ぁ" - "ァ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : ァ ->char[2]-1 char[3] ^ 0x20 = ぁ
"あ" - "ア" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : ア ->char[2]-1 char[3] ^ 0x20 = あ
"ぃ" - "ィ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : ィ ->char[2]-1 char[3] ^ 0x20 = ぃ
"い" - "イ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : イ ->char[2]-1 char[3] ^ 0x20 = い
"ぅ" - "ゥ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : ゥ ->char[2]-1 char[3] ^ 0x20 = ぅ
"う" - "ウ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : ウ ->char[2]-1 char[3] ^ 0x20 = う
"ぇ" - "ェ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : ェ ->char[2]-1 char[3] ^ 0x20 = ぇ
"え" - "エ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : エ ->char[2]-1 char[3] ^ 0x20 = え
"ぉ" - "ォ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : ォ ->char[2]-1 char[3] ^ 0x20 = ぉ
"お" - "オ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : オ ->char[2]-1 char[3] ^ 0x20 = お
"か" - "カ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : カ ->char[2]-1 char[3] ^ 0x20 = か
"が" - "ガ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : ガ ->char[2]-1 char[3] ^ 0x20 = が
"き" - "キ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : キ ->char[2]-1 char[3] ^ 0x20 = き
"ぎ" - "ギ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : ギ ->char[2]-1 char[3] ^ 0x20 = ぎ
"く" - "ク" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : ク ->char[2]-1 char[3] ^ 0x20 = く
"ぐ" - "グ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : グ ->char[2]-1 char[3] ^ 0x20 = ぐ
"け" - "ケ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : ケ ->char[2]-1 char[3] ^ 0x20 = け
"げ" - "ゲ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : ゲ ->char[2]-1 char[3] ^ 0x20 = げ
"こ" - "コ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : コ ->char[2]-1 char[3] ^ 0x20 = こ
"ご" - "ゴ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : ゴ ->char[2]-1 char[3] ^ 0x20 = ご
"さ" - "サ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : サ ->char[2]-1 char[3] ^ 0x20 = さ
"ざ" - "ザ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : ザ ->char[2]-1 char[3] ^ 0x20 = ざ
"し" - "シ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : シ ->char[2]-1 char[3] ^ 0x20 = し
"じ" - "ジ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : ジ ->char[2]-1 char[3] ^ 0x20 = じ
"す" - "ス" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : ス ->char[2]-1 char[3] ^ 0x20 = す
"ず" - "ズ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : ズ ->char[2]-1 char[3] ^ 0x20 = ず
"せ" - "セ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : セ ->char[2]-1 char[3] ^ 0x20 = せ
"ぜ" - "ゼ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : ゼ ->char[2]-1 char[3] ^ 0x20 = ぜ
"そ" - "ソ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : ソ ->char[2]-1 char[3] ^ 0x20 = そ
"ぞ" - "ゾ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : ゾ ->char[2]-1 char[3] ^ 0x20 = ぞ
"た" - "タ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
1: [ァ]-[タ] : タ ->char[2]-1 char[3] ^ 0x20 = た
"だ" - "ダ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : ダ ->char[2]-2 char[3] ^ 0x20 = だ
"ち" - "チ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : チ ->char[2]-2 char[3] ^ 0x20 = ち
"ぢ" - "ヂ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : ヂ ->char[2]-2 char[3] ^ 0x20 = ぢ
"っ" - "ッ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : ッ ->char[2]-2 char[3] ^ 0x20 = っ
"つ" - "ツ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : ツ ->char[2]-2 char[3] ^ 0x20 = つ
"づ" - "ヅ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : ヅ ->char[2]-2 char[3] ^ 0x20 = づ
"て" - "テ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : テ ->char[2]-2 char[3] ^ 0x20 = て
"で" - "デ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : デ ->char[2]-2 char[3] ^ 0x20 = で
"と" - "ト" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : ト ->char[2]-2 char[3] ^ 0x20 = と
"ど" - "ド" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : ド ->char[2]-2 char[3] ^ 0x20 = ど
"な" - "ナ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : ナ ->char[2]-2 char[3] ^ 0x20 = な
"に" - "ニ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : ニ ->char[2]-2 char[3] ^ 0x20 = に
"ぬ" - "ヌ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : ヌ ->char[2]-2 char[3] ^ 0x20 = ぬ
"ね" - "ネ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : ネ ->char[2]-2 char[3] ^ 0x20 = ね
"の" - "ノ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : ノ ->char[2]-2 char[3] ^ 0x20 = の
"は" - "ハ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : ハ ->char[2]-2 char[3] ^ 0x20 = は
"ば" - "バ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : バ ->char[2]-2 char[3] ^ 0x20 = ば
"ぱ" - "パ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : パ ->char[2]-2 char[3] ^ 0x20 = ぱ
"ひ" - "ヒ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : ヒ ->char[2]-2 char[3] ^ 0x20 = ひ
"び" - "ビ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : ビ ->char[2]-2 char[3] ^ 0x20 = び
"ぴ" - "ピ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : ピ ->char[2]-2 char[3] ^ 0x20 = ぴ
"ふ" - "フ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : フ ->char[2]-2 char[3] ^ 0x20 = ふ
"ぶ" - "ブ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : ブ ->char[2]-2 char[3] ^ 0x20 = ぶ
"ぷ" - "プ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : プ ->char[2]-2 char[3] ^ 0x20 = ぷ
"へ" - "ヘ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : ヘ ->char[2]-2 char[3] ^ 0x20 = へ
"べ" - "ベ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : ベ ->char[2]-2 char[3] ^ 0x20 = べ
"ぺ" - "ペ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : ペ ->char[2]-2 char[3] ^ 0x20 = ぺ
"ほ" - "ホ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : ホ ->char[2]-2 char[3] ^ 0x20 = ほ
"ぼ" - "ボ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : ボ ->char[2]-2 char[3] ^ 0x20 = ぼ
"ぽ" - "ポ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : ポ ->char[2]-2 char[3] ^ 0x20 = ぽ
"ま" - "マ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : マ ->char[2]-2 char[3] ^ 0x20 = ま
"み" - "ミ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
katakana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
2: [ダ]-[ミ] : ミ ->char[2]-2 char[3] ^ 0x20 = み
"む" - "ム" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
3: [ム]-[ン]: ム ->char[2]-1 char[3] ^ 0x20 = む
"め" - "メ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
3: [ム]-[ン]: メ ->char[2]-1 char[3] ^ 0x20 = め
"も" - "モ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
3: [ム]-[ン]: モ ->char[2]-1 char[3] ^ 0x20 = も
"ゃ" - "ャ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
3: [ム]-[ン]: ャ ->char[2]-1 char[3] ^ 0x20 = ゃ
"や" - "ヤ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
3: [ム]-[ン]: ヤ ->char[2]-1 char[3] ^ 0x20 = や
"ゅ" - "ュ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
3: [ム]-[ン]: ュ ->char[2]-1 char[3] ^ 0x20 = ゅ
"ゆ" - "ユ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
3: [ム]-[ン]: ユ ->char[2]-1 char[3] ^ 0x20 = ゆ
"ょ" - "ョ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
3: [ム]-[ン]: ョ ->char[2]-1 char[3] ^ 0x20 = ょ
"よ" - "ヨ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
3: [ム]-[ン]: ヨ ->char[2]-1 char[3] ^ 0x20 = よ
"ら" - "ラ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
3: [ム]-[ン]: ラ ->char[2]-1 char[3] ^ 0x20 = ら
"り" - "リ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
3: [ム]-[ン]: リ ->char[2]-1 char[3] ^ 0x20 = り
"る" - "ル" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
3: [ム]-[ン]: ル ->char[2]-1 char[3] ^ 0x20 = る
"れ" - "レ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
3: [ム]-[ン]: レ ->char[2]-1 char[3] ^ 0x20 = れ
"ろ" - "ロ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
3: [ム]-[ン]: ロ ->char[2]-1 char[3] ^ 0x20 = ろ
"ゎ" - "ヮ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
3: [ム]-[ン]: ヮ ->char[2]-1 char[3] ^ 0x20 = ゎ
"わ" - "ワ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
3: [ム]-[ン]: ワ ->char[2]-1 char[3] ^ 0x20 = わ
"ゐ" - "ヰ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
3: [ム]-[ン]: ヰ ->char[2]-1 char[3] ^ 0x20 = ゐ
"ゑ" - "ヱ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
3: [ム]-[ン]: ヱ ->char[2]-1 char[3] ^ 0x20 = ゑ
"を" - "ヲ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
3: [ム]-[ン]: ヲ ->char[2]-1 char[3] ^ 0x20 = を
"ん" - "ン" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
3: [ム]-[ン]: ン ->char[2]-1 char[3] ^ 0x20 = ん
" " - "ヴ" = 0 , 3 , 34 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
" " - "ヵ" = 0 , 3 , 35 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
" " - "ヶ" = 0 , 3 , 36 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
"ゝ" - "ヽ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
"ゞ" - "ヾ" = 0 , 1 , 20 ,
0
1
in 2 byte.
katakana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
katakana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
"・ - "・ = 0 , 0 , 0 ,
0
not top 1 byte was 0xe3!
* source ひらがな [#u72afc01]
#include <stdio.h>
int main()
{
char kanaa[] = "あい";
char hiragana[] = "ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん ゝゞ";
char katakana[] = "ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶヽヾ";
int i,j;
printf("sizeof \"%s\": %d\n", &kanaa, sizeof(kanaa));
for( i=0 ; i<=sizeof(kanaa) ; i++){
printf(" , %x", kanaa[i]);
printf("sizeof(char): %d\n", (int)sizeof(char));
printf("sizeof(unsigned char): %d\n", (int)sizeof(unsigned char));
printf("sizeof(short int): %d\n", (int)sizeof(short int));
printf("sizeof(unsigned short int): %d\n", (int)sizeof(unsigned short int));
printf("sizeof(int): %d\n", (int)sizeof(int));
printf("sizeof(unsigned int): %d\n", (int)sizeof(unsigned int));
printf("sizeof(long int): %d\n", (int)sizeof(long int));
printf("sizeof(unsigned long int): %d\n", (int)sizeof(unsigned long int));
printf("sizeof(long long int): %d\n", (int)sizeof(long long int));
printf("sizeof(unsigned long long int): %d\n", (int)sizeof(unsigned long long int));
printf("sizeof(float): %d\n", (int)sizeof(float));
// printf("sizeof(unsigned float): %d\n", (int)sizeof(unsigned float));
printf("sizeof(double): %d\n", (int)sizeof(double));
// printf("sizeof(unsigned double): %d\n", (int)sizeof(unsigned double));
printf("sizeof \"%s\": %d\n", (char*) &kanaa, (int) sizeof(kanaa));
for( i=0 ; i<= (int) sizeof(kanaa) ; i++){
printf(" , %2x", kanaa[i]);
}
printf("\n\n");
printf("%s\n", &hiragana);
printf("%s\n", &katakana);
if(sizeof(hiragana) == sizeof(katakana)){
for( i=0 ; i<sizeof(hiragana) ; i+=3){
printf("%s\n", (char*) &hiragana);
printf("%s\n", (char*) &katakana);
if( (int)sizeof(hiragana) == (int)sizeof(katakana)){
for( i=0 ; i< (int)sizeof(hiragana) ; i+=3){
printf("\"%c%c%c\" - \"%c%c%c\" = ",
hiragana[i],
hiragana[i+1],
hiragana[i+2],
katakana[i],
katakana[i+1],
katakana[i+2]);
for( j=0 ; j<=2 ; j++){
printf(" %x ,", katakana[i+j] - hiragana[i+j] );
printf(" %2x ,", katakana[i+j] - hiragana[i+j] );
}
printf("\n");
for(j=0 ; j<=1 ; j++){
printf("%d\n",j);
if(j==0){
if(hiragana[i+j] != (char)0xe3){
printf("not top 1 byte was 0xe3!\n");
break;
}
}
if(j==1){
printf("in 2 byte.\n");
if(hiragana[i+j] == (char)0x81){
printf("hiragana[i+j+1] & 0xe0(11100000) : hex: %2x, int: %u\n",
(char)hiragana[i+j+1] & (char)0xe0,
(char)hiragana[i+j+1] & (char)0xe0);
printf("hiragana[i+j+1] >> 5 : hex: %2x, int: %u\n",
hiragana[i+j+1] >> 5,
hiragana[i+j+1] >> 5);
if( (hiragana[i+j+1] & (char)0xe0) == (char)0x80 &&
hiragana[i+j+1] != (char)0xa0){
// in [ァ]-[タ]
printf("1: [ァ]-[タ] : %c%c%c ->char[2]+1 char[3] ^ 0x20 = %c%c%c\n\n",
hiragana[i],
hiragana[i+1],
hiragana[i+2],
hiragana[i],
hiragana[i+1] + 1,
hiragana[i+2] ^ 0x20);
}
if( (hiragana[i+j+1] & (char)0xe0) == (char)0xa0 ){
// in [ダ]-[ミ]
printf("2: [ダ]-[ミ] : %c%c%c ->char[2]+2 char[3] ^ 0x20 = %c%c%c\n\n",
hiragana[i],
hiragana[i+1],
hiragana[i+2],
hiragana[i],
hiragana[i+1] + 2,
hiragana[i+2] ^ 0x20);
}
}
if(hiragana[i+j] == (char)0x82){
printf("hiragana[i+j+1] & 0xe0(11100000) : hex: %2x, int: %u\n",
hiragana[i+j+1] & (char)0xe0,
hiragana[i+j+1] & (char)0xe0);
printf("hiragana[i+j+1] >> 5 : hex: %2x, int: %u\n",
hiragana[i+j+1] >> 5,
hiragana[i+j+1] >> 5);
if( (hiragana[i+j+1] & (char)0xe0) == (char)0x80 &&
hiragana[i+j+1] < (char)0x94 ){
// in [ム]-[ン]
printf("3: [ム]-[ン]: %c%c%c ->char[2]+1 char[3] ^ 0x20 = %c%c%c\n\n",
hiragana[i],
hiragana[i+1],
hiragana[i+2],
hiragana[i],
hiragana[i+1] + 1,
hiragana[i+2] ^ 0x20);
}
}
}
}
printf("\n");
}
}else{
printf("invaled compare string.\n");
printf("invalid compare string.\n");
}
return 0;
}
* 実行結果 [#jaec50bf]
$ ./a.out
* 実行結果 ひらがな [#r451fc71]
sizeof(char): 1
sizeof(unsigned char): 1
sizeof(short int): 2
sizeof(unsigned short int): 2
sizeof(int): 4
sizeof(unsigned int): 4
sizeof(long int): 8
sizeof(unsigned long int): 8
sizeof(long long int): 8
sizeof(unsigned long long int): 8
sizeof(float): 4
sizeof(double): 8
sizeof "あい": 7
, ffffffe3 , ffffff81 , ffffff82 , ffffffe3 , ffffff81 , ffffff84 , 0 , 0
, ffffffe3 , ffffff81 , ffffff82 , ffffffe3 , ffffff81 , ffffff84 , 0 , 0
ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん ゝゞ
ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶヽヾ
"ぁ" - "ァ" = 0 , 1 , 20 ,
"あ" - "ア" = 0 , 1 , 20 ,
"ぃ" - "ィ" = 0 , 1 , 20 ,
"い" - "イ" = 0 , 1 , 20 ,
"ぅ" - "ゥ" = 0 , 1 , 20 ,
"う" - "ウ" = 0 , 1 , 20 ,
"ぇ" - "ェ" = 0 , 1 , 20 ,
"え" - "エ" = 0 , 1 , 20 ,
"ぉ" - "ォ" = 0 , 1 , 20 ,
"お" - "オ" = 0 , 1 , 20 ,
"か" - "カ" = 0 , 1 , 20 ,
"が" - "ガ" = 0 , 1 , 20 ,
"き" - "キ" = 0 , 1 , 20 ,
"ぎ" - "ギ" = 0 , 1 , 20 ,
"く" - "ク" = 0 , 1 , 20 ,
"ぐ" - "グ" = 0 , 1 , 20 ,
"け" - "ケ" = 0 , 1 , 20 ,
"げ" - "ゲ" = 0 , 1 , 20 ,
"こ" - "コ" = 0 , 1 , 20 ,
"ご" - "ゴ" = 0 , 1 , 20 ,
"さ" - "サ" = 0 , 1 , 20 ,
"ざ" - "ザ" = 0 , 1 , 20 ,
"し" - "シ" = 0 , 1 , 20 ,
"じ" - "ジ" = 0 , 1 , 20 ,
"す" - "ス" = 0 , 1 , 20 ,
"ず" - "ズ" = 0 , 1 , 20 ,
"せ" - "セ" = 0 , 1 , 20 ,
"ぜ" - "ゼ" = 0 , 1 , 20 ,
"そ" - "ソ" = 0 , 1 , 20 ,
"ぞ" - "ゾ" = 0 , 1 , 20 ,
"た" - "タ" = 0 , 1 , 20 ,
"だ" - "ダ" = 0 , 2 , ffffffe0 ,
"ち" - "チ" = 0 , 2 , ffffffe0 ,
"ぢ" - "ヂ" = 0 , 2 , ffffffe0 ,
"っ" - "ッ" = 0 , 2 , ffffffe0 ,
"つ" - "ツ" = 0 , 2 , ffffffe0 ,
"づ" - "ヅ" = 0 , 2 , ffffffe0 ,
"て" - "テ" = 0 , 2 , ffffffe0 ,
"で" - "デ" = 0 , 2 , ffffffe0 ,
"と" - "ト" = 0 , 2 , ffffffe0 ,
"ど" - "ド" = 0 , 2 , ffffffe0 ,
"な" - "ナ" = 0 , 2 , ffffffe0 ,
"に" - "ニ" = 0 , 2 , ffffffe0 ,
"ぬ" - "ヌ" = 0 , 2 , ffffffe0 ,
"ね" - "ネ" = 0 , 2 , ffffffe0 ,
"の" - "ノ" = 0 , 2 , ffffffe0 ,
"は" - "ハ" = 0 , 2 , ffffffe0 ,
"ば" - "バ" = 0 , 2 , ffffffe0 ,
"ぱ" - "パ" = 0 , 2 , ffffffe0 ,
"ひ" - "ヒ" = 0 , 2 , ffffffe0 ,
"び" - "ビ" = 0 , 2 , ffffffe0 ,
"ぴ" - "ピ" = 0 , 2 , ffffffe0 ,
"ふ" - "フ" = 0 , 2 , ffffffe0 ,
"ぶ" - "ブ" = 0 , 2 , ffffffe0 ,
"ぷ" - "プ" = 0 , 2 , ffffffe0 ,
"へ" - "ヘ" = 0 , 2 , ffffffe0 ,
"べ" - "ベ" = 0 , 2 , ffffffe0 ,
"ぺ" - "ペ" = 0 , 2 , ffffffe0 ,
"ほ" - "ホ" = 0 , 2 , ffffffe0 ,
"ぼ" - "ボ" = 0 , 2 , ffffffe0 ,
"ぽ" - "ポ" = 0 , 2 , ffffffe0 ,
"ま" - "マ" = 0 , 2 , ffffffe0 ,
"み" - "ミ" = 0 , 2 , ffffffe0 ,
"む" - "ム" = 0 , 1 , 20 ,
"め" - "メ" = 0 , 1 , 20 ,
"も" - "モ" = 0 , 1 , 20 ,
"ゃ" - "ャ" = 0 , 1 , 20 ,
"や" - "ヤ" = 0 , 1 , 20 ,
"ゅ" - "ュ" = 0 , 1 , 20 ,
"ゆ" - "ユ" = 0 , 1 , 20 ,
"ょ" - "ョ" = 0 , 1 , 20 ,
"よ" - "ヨ" = 0 , 1 , 20 ,
"ら" - "ラ" = 0 , 1 , 20 ,
"り" - "リ" = 0 , 1 , 20 ,
"る" - "ル" = 0 , 1 , 20 ,
"れ" - "レ" = 0 , 1 , 20 ,
"ろ" - "ロ" = 0 , 1 , 20 ,
"ゎ" - "ヮ" = 0 , 1 , 20 ,
"わ" - "ワ" = 0 , 1 , 20 ,
"ゐ" - "ヰ" = 0 , 1 , 20 ,
"ゑ" - "ヱ" = 0 , 1 , 20 ,
"を" - "ヲ" = 0 , 1 , 20 ,
"ん" - "ン" = 0 , 1 , 20 ,
" " - "ヴ" = 0 , 3 , 34 ,
" " - "ヵ" = 0 , 3 , 35 ,
" " - "ヶ" = 0 , 3 , 36 ,
"ゝ" - "ヽ" = 0 , 1 , 20 ,
"ゞ" - "ヾ" = 0 , 1 , 20 ,
"" - "?" = 0 , ffffffce , ffffff80 ,
"ぁ" - "ァ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : ぁ ->char[2]+1 char[3] ^ 0x20 = ァ
"あ" - "ア" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : あ ->char[2]+1 char[3] ^ 0x20 = ア
"ぃ" - "ィ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : ぃ ->char[2]+1 char[3] ^ 0x20 = ィ
"い" - "イ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : い ->char[2]+1 char[3] ^ 0x20 = イ
"ぅ" - "ゥ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : ぅ ->char[2]+1 char[3] ^ 0x20 = ゥ
"う" - "ウ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : う ->char[2]+1 char[3] ^ 0x20 = ウ
"ぇ" - "ェ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : ぇ ->char[2]+1 char[3] ^ 0x20 = ェ
"え" - "エ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : え ->char[2]+1 char[3] ^ 0x20 = エ
"ぉ" - "ォ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : ぉ ->char[2]+1 char[3] ^ 0x20 = ォ
"お" - "オ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : お ->char[2]+1 char[3] ^ 0x20 = オ
"か" - "カ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : か ->char[2]+1 char[3] ^ 0x20 = カ
"が" - "ガ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : が ->char[2]+1 char[3] ^ 0x20 = ガ
"き" - "キ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : き ->char[2]+1 char[3] ^ 0x20 = キ
"ぎ" - "ギ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : ぎ ->char[2]+1 char[3] ^ 0x20 = ギ
"く" - "ク" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : く ->char[2]+1 char[3] ^ 0x20 = ク
"ぐ" - "グ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : ぐ ->char[2]+1 char[3] ^ 0x20 = グ
"け" - "ケ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : け ->char[2]+1 char[3] ^ 0x20 = ケ
"げ" - "ゲ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : げ ->char[2]+1 char[3] ^ 0x20 = ゲ
"こ" - "コ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : こ ->char[2]+1 char[3] ^ 0x20 = コ
"ご" - "ゴ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : ご ->char[2]+1 char[3] ^ 0x20 = ゴ
"さ" - "サ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : さ ->char[2]+1 char[3] ^ 0x20 = サ
"ざ" - "ザ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : ざ ->char[2]+1 char[3] ^ 0x20 = ザ
"し" - "シ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : し ->char[2]+1 char[3] ^ 0x20 = シ
"じ" - "ジ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : じ ->char[2]+1 char[3] ^ 0x20 = ジ
"す" - "ス" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : す ->char[2]+1 char[3] ^ 0x20 = ス
"ず" - "ズ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : ず ->char[2]+1 char[3] ^ 0x20 = ズ
"せ" - "セ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : せ ->char[2]+1 char[3] ^ 0x20 = セ
"ぜ" - "ゼ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : ぜ ->char[2]+1 char[3] ^ 0x20 = ゼ
"そ" - "ソ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : そ ->char[2]+1 char[3] ^ 0x20 = ソ
"ぞ" - "ゾ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : ぞ ->char[2]+1 char[3] ^ 0x20 = ゾ
"た" - "タ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
1: [ァ]-[タ] : た ->char[2]+1 char[3] ^ 0x20 = タ
"だ" - "ダ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : だ ->char[2]+2 char[3] ^ 0x20 = ダ
"ち" - "チ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : ち ->char[2]+2 char[3] ^ 0x20 = チ
"ぢ" - "ヂ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : ぢ ->char[2]+2 char[3] ^ 0x20 = ヂ
"っ" - "ッ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : っ ->char[2]+2 char[3] ^ 0x20 = ッ
"つ" - "ツ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : つ ->char[2]+2 char[3] ^ 0x20 = ツ
"づ" - "ヅ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : づ ->char[2]+2 char[3] ^ 0x20 = ヅ
"て" - "テ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : て ->char[2]+2 char[3] ^ 0x20 = テ
"で" - "デ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : で ->char[2]+2 char[3] ^ 0x20 = デ
"と" - "ト" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : と ->char[2]+2 char[3] ^ 0x20 = ト
"ど" - "ド" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : ど ->char[2]+2 char[3] ^ 0x20 = ド
"な" - "ナ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : な ->char[2]+2 char[3] ^ 0x20 = ナ
"に" - "ニ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : に ->char[2]+2 char[3] ^ 0x20 = ニ
"ぬ" - "ヌ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : ぬ ->char[2]+2 char[3] ^ 0x20 = ヌ
"ね" - "ネ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : ね ->char[2]+2 char[3] ^ 0x20 = ネ
"の" - "ノ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : の ->char[2]+2 char[3] ^ 0x20 = ノ
"は" - "ハ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : は ->char[2]+2 char[3] ^ 0x20 = ハ
"ば" - "バ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : ば ->char[2]+2 char[3] ^ 0x20 = バ
"ぱ" - "パ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : ぱ ->char[2]+2 char[3] ^ 0x20 = パ
"ひ" - "ヒ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : ひ ->char[2]+2 char[3] ^ 0x20 = ヒ
"び" - "ビ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : び ->char[2]+2 char[3] ^ 0x20 = ビ
"ぴ" - "ピ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : ぴ ->char[2]+2 char[3] ^ 0x20 = ピ
"ふ" - "フ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : ふ ->char[2]+2 char[3] ^ 0x20 = フ
"ぶ" - "ブ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : ぶ ->char[2]+2 char[3] ^ 0x20 = ブ
"ぷ" - "プ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : ぷ ->char[2]+2 char[3] ^ 0x20 = プ
"へ" - "ヘ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : へ ->char[2]+2 char[3] ^ 0x20 = ヘ
"べ" - "ベ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : べ ->char[2]+2 char[3] ^ 0x20 = ベ
"ぺ" - "ペ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : ぺ ->char[2]+2 char[3] ^ 0x20 = ペ
"ほ" - "ホ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : ほ ->char[2]+2 char[3] ^ 0x20 = ホ
"ぼ" - "ボ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : ぼ ->char[2]+2 char[3] ^ 0x20 = ボ
"ぽ" - "ポ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : ぽ ->char[2]+2 char[3] ^ 0x20 = ポ
"ま" - "マ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : ま ->char[2]+2 char[3] ^ 0x20 = マ
"み" - "ミ" = 0 , 2 , ffffffe0 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffffa0, int: 4294967200
hiragana[i+j+1] >> 5 : hex: fffffffd, int: 4294967293
2: [ダ]-[ミ] : み ->char[2]+2 char[3] ^ 0x20 = ミ
"む" - "ム" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
3: [ム]-[ン]: む ->char[2]+1 char[3] ^ 0x20 = ム
"め" - "メ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
3: [ム]-[ン]: め ->char[2]+1 char[3] ^ 0x20 = メ
"も" - "モ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
3: [ム]-[ン]: も ->char[2]+1 char[3] ^ 0x20 = モ
"ゃ" - "ャ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
3: [ム]-[ン]: ゃ ->char[2]+1 char[3] ^ 0x20 = ャ
"や" - "ヤ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
3: [ム]-[ン]: や ->char[2]+1 char[3] ^ 0x20 = ヤ
"ゅ" - "ュ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
3: [ム]-[ン]: ゅ ->char[2]+1 char[3] ^ 0x20 = ュ
"ゆ" - "ユ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
3: [ム]-[ン]: ゆ ->char[2]+1 char[3] ^ 0x20 = ユ
"ょ" - "ョ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
3: [ム]-[ン]: ょ ->char[2]+1 char[3] ^ 0x20 = ョ
"よ" - "ヨ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
3: [ム]-[ン]: よ ->char[2]+1 char[3] ^ 0x20 = ヨ
"ら" - "ラ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
3: [ム]-[ン]: ら ->char[2]+1 char[3] ^ 0x20 = ラ
"り" - "リ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
3: [ム]-[ン]: り ->char[2]+1 char[3] ^ 0x20 = リ
"る" - "ル" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
3: [ム]-[ン]: る ->char[2]+1 char[3] ^ 0x20 = ル
"れ" - "レ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
3: [ム]-[ン]: れ ->char[2]+1 char[3] ^ 0x20 = レ
"ろ" - "ロ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
3: [ム]-[ン]: ろ ->char[2]+1 char[3] ^ 0x20 = ロ
"ゎ" - "ヮ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
3: [ム]-[ン]: ゎ ->char[2]+1 char[3] ^ 0x20 = ヮ
"わ" - "ワ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
3: [ム]-[ン]: わ ->char[2]+1 char[3] ^ 0x20 = ワ
"ゐ" - "ヰ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
3: [ム]-[ン]: ゐ ->char[2]+1 char[3] ^ 0x20 = ヰ
"ゑ" - "ヱ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
3: [ム]-[ン]: ゑ ->char[2]+1 char[3] ^ 0x20 = ヱ
"を" - "ヲ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
3: [ム]-[ン]: を ->char[2]+1 char[3] ^ 0x20 = ヲ
"ん" - "ン" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
3: [ム]-[ン]: ん ->char[2]+1 char[3] ^ 0x20 = ン
" " - "ヴ" = 0 , 3 , 34 ,
0
1
in 2 byte.
" " - "ヵ" = 0 , 3 , 35 ,
0
1
in 2 byte.
" " - "ヶ" = 0 , 3 , 36 ,
0
1
in 2 byte.
"ゝ" - "ヽ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
"ゞ" - "ヾ" = 0 , 1 , 20 ,
0
1
in 2 byte.
hiragana[i+j+1] & 0xe0(11100000) : hex: ffffff80, int: 4294967168
hiragana[i+j+1] >> 5 : hex: fffffffc, int: 4294967292
"" - "ヨ" = 0 , ffffffd6 , 1e ,
0
not top 1 byte was 0xe3!