• ベストアンサー

指定バイト目を取り出すにはどうすればよいでしょうか?

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

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

お世話になります。 .NET なら System.Text.Encoding.Default.GetBytes → GetString とかで。 VB6 なら、 StrConv 関数で vbFromUnicode パラメータを渡して unicode 文字にしてから再変換。 VBScript では該当するものがないです。 ↓こういうのを使うとか。 BASP21 DLL(http://www.hi-ho.ne.jp/babaq/basp21.htmlhttp://www.hi-ho.ne.jp/babaq/basp21.html#0030 [半角全角混じりの文字列のバイト数を取得するには?] http://hpcgi1.nifty.com/MADIA/VBBBS2/wwwlng.cgi?print+200312/03120046.txt

参考URL:
http://jeanne.wankuma.com/tips/string/leftb.html
sino10sino
質問者

お礼

ご回答ありがとうございます。 vbFromUnicode、BASP21を使用してみましたが、MIDB関数は正常に動作しませんでした。 (半角も2バイト換算で計算されてしまいます。) 文字列長であれば取得できるのですが、 何文字目を取り出すとなると、1文字ずつコードを見ていくしかないようです。 固定バイト長ファイルを使ってツールを作ろうと思ってたんですが、 1文字ずつみていくのでは処理が遅いので(といっても僅かでしょうが)、 固定文字数長ファイルにしようかと思っています。

関連するQ&A