投稿者 daive  (社会人) 投稿日時 2015/6/11 21:32:28
考え方の参考になるかもしれないサイト例
 マルチバイト文字列とワイド文字列
 http://mkubara.com/index.php/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%90%E3%82%A4%E3%83%88%E6%96%87%E5%AD%97%E5%88%97%E3%81%A8%E3%83%AF%E3%82%A4%E3%83%89%E6%96%87%E5%AD%97%E5%88%97
 但し、書かれている事柄が、現在も有効かどうかは、別な話です。

文字列のバイト数を取得する (LenB)
http://jeanne.wankuma.com/tips/vb.net/string/lenb.html
【重要箇所抜粋】⇓
System.String クラスの Length プロパティでは文字数しか取得できません。というよりは、半角または全角という概念は消滅しつつあります。(Unicode や UTF-8 の文字コードを参照)

文字がひらがなか、カタカナか、漢字か、英数字か調べる
http://dobon.net/vb/dotnet/string/ishiragana.html

データベースのフィールド定義、インスタンスでの文字コード設定等も、要確認

Unicode 、UTF 化して、
旧9801、9821時代の2分の1角は、絶滅
ShiftJISの、半角カナは、元々使用に制限があったし、
(カナ相当部分に、定義されていた、ヨーロッパ語圏の文字も)
UTFは、種類により、バイト数が異なり、
MS-Unicode は、VBAでの生き残りが、OSとの齟齬を生み。