CP932
検索する対象がいわゆるシフトJISの場合、たいていの場合は単純なバイト列の比較で事足ります。
単純なバイト列の比較だけでは検索できないケースというのは、以下の2つの場合ではないかと思います。
- 重複して登録されている文字の検索
- Windows-31Jではいくつかの文字は、同じ文字でありながら複数のコードが割り当てられています*1。このため、これらの文字を検索する場合には、単純にバイト列を比較するだけでは見落とす可能性があります。
- 2バイト文字の先頭にゴミがついている場合
- CP932では全角文字は2バイトで表現しますが、第1バイトと第2バイトではかなりの範囲で値が重複しています。そのため、2バイト文字の先頭に第1バイトのようなゴミのデータがついていた場合には、バイト列としてはマッチするものの、エディタやダンプなどでは文字列そのものを見落とす可能性があります*2。
CP932から文字列を検索する場合には、これらの点について注意しましょう。