Mid又はMidBで漢字を抽出するには?

解決


とも  2002-05-10 16:17:25  No: 75581  IP: [192.*.*.*]

ファイルからある特定の文字を探し、
その後に続く文字列を決まったバイト分抽出したいのですが上手くいきません。
どなたかお力をお貸しください。

現状、”MOKUTEKIともL”と言うような文字列で”MOKUTEKI”の後の”とも”を
Mid(文字列,9,4)で抽出使用としています。
結果は化け文字が出てきてしまいます。

編集 削除
とも  2002-05-10 16:18:30  No: 75582  IP: [192.*.*.*]

訂正します。
「Mid(文字列,9,4)」→「MidB(文字列,9,4)」でした。

編集 削除
ケイ  2002-05-10 16:58:24  No: 75583  IP: [192.*.*.*]

結果は「TE」と出てきていませんか?その場合以下のように処理されていると思います。

MidB(文字列,9,4)は文字列の9バイト目から4バイト分取得する命令だと思いますが、「MOKUTEKI」がたとえ半角だとしても、「M」一個で2バイトと判断されているようです。
そのため9バイト目は「MOKUTEKI」の「T」になりそこから4バイト分T(2B)+E(2B)=TE(4B)になってTEが表示される。

編集 削除
とも  2002-05-10 17:26:27  No: 75584  IP: [192.*.*.*]

ケイさんありがとうございます。

MidBの2個目の引数もバイト数で指定するんですね!
Midから処理を変えたのでそこは変えていませんでした。

また、半角英字等も2バイトで扱われるのは知りませんでした。
C言語中心に勉強していましたので(^^;

解決です!

編集 削除