プロが教えるわが家の防犯対策術!

変数Aに、全角半角交じりの文字列が入っているのですが、
Mid、MidBでは指定バイト目の文字を取り出すことが出来ません。
上手く取り出すほう方はありますでしょうか?

ご回答、宜しくお願い致します。

A 回答 (1件)

お世話になります。



.NET なら
System.Text.Encoding.Default.GetBytes → GetString とかで。

VB6 なら、
StrConv 関数で vbFromUnicode パラメータを渡して unicode 文字にしてから再変換。

VBScript では該当するものがないです。
↓こういうのを使うとか。
BASP21 DLL(http://www.hi-ho.ne.jp/babaq/basp21.html
http://www.hi-ho.ne.jp/babaq/basp21.html#0030
[半角全角混じりの文字列のバイト数を取得するには?]
http://hpcgi1.nifty.com/MADIA/VBBBS2/wwwlng.cgi? …

参考URL:http://jeanne.wankuma.com/tips/string/leftb.html
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

vbFromUnicode、BASP21を使用してみましたが、MIDB関数は正常に動作しませんでした。
(半角も2バイト換算で計算されてしまいます。)

文字列長であれば取得できるのですが、
何文字目を取り出すとなると、1文字ずつコードを見ていくしかないようです。

固定バイト長ファイルを使ってツールを作ろうと思ってたんですが、
1文字ずつみていくのでは処理が遅いので(といっても僅かでしょうが)、
固定文字数長ファイルにしようかと思っています。

お礼日時:2006/11/16 09:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!