←前へ 次へ→ 機能別Q&A 質問番号順Q&A 秀丸エディタQ&A集トップ

[HMM0072A]

●2バイト文字の判断方法

Q. カーソル位置にある文字が、1バイト文字か2バイト文字かを判断するにはどうしたらいいでしょうか?

A. 秀丸の内部キーワード「code」を使い、ビット演算を使って2バイト文字かどうかを判断することで、可能です。

// サンプルマクロ(ここから)
#Code = code;
if( #Code == 0 )
{ // フリーカーソルで改行以降
message "改行以降";
}
else if( #Code == 0x09 )
{ // タブ
message "タブ";
}
else if( #Code == 0x0d )
{ // 改行
message "改行";
}
else if( #Code == eof )
{ // EOF
message "EOF";
}
else if( ( code & 0xff00 ) != 0 )
{ // 2バイト文字
message "2バイト文字";
}
else
{
message "1バイト文字";
}
endmacro;
// サンプルマクロ(ここまで)

文字列変数の中の文字列をバイト単位ではなく文字単位で扱いたい場合は、[HMM0073A] ●文字列をバイト単位ではなく文字単位で扱う を参照して下さい。


←前へ 次へ→ 機能別Q&A 質問番号順Q&A 秀丸エディタQ&A集トップ