文字数と、文字バイト数と取得するには?

解決


bell  2000-10-11 03:55:05  No: 103498  IP: [192.*.*.*]

始めまして bell と申します。

String型文字列に入っている文字(全角、半角交じり)の
文字数と、文字バイト数を取得したいのですが、
正常に取得できません。

Len関数を使うと、文字数は取得できるのですが、
全角も1文字と数えてしまうため、文字バイト数で
つっかえてしまいます。
文字列"あa"を、下記のように取得する方法はあるのでしょうか?
  文字数      :2
  文字バイト数:3

希望:
できれば、1文字毎に2バイト文字か1バイト文字かを
チェックをするのは避けたいのですが・・・。


よろしくお願いいたします。

編集    削除
こころ  URL  2000-10-11 07:53:14  No: 103499  IP: [192.*.*.*]

StrConvでvbFromUnicodeを指定して変換した文字列に
LenBを使ってみて下さい。

編集    削除
bell  2000-10-12 01:53:54  No: 103500  IP: [192.*.*.*]

ありがとうございます。
下記のコードにて文字バイト取得に成功しました。

-------------------------------------------
Dim nlen as Long
Dim chkstr as String

chkstr = "あa"
nlen = LenB(StrConv(chkstr, vbFromUnicode))

-------------------------------------------

編集    削除