旧システムなどの外部連携のために、テーブルに格納するデータにバイト制限をかける場合があります。良くあるのが、半角を 1 バイト、全角を 2 バイトでカウントして規定の長さに収めるなどです。 System.String クラスの Substring メソッドでは、文字単位でしか指定ができません。というよりは、半角または全角という概念は消滅しつつあります。(Unicode や UTF-8 の文字コードを参照) VB6 では LeftB, MidB, RightB などの関数で、バイト単位での文字の取り出しができました。StrConv 関数などの合わせ技で文字コードを変えてから、使用していました。 半角は 1 バイト、全角は 2 バイトという考えは、Shift_JIS という文字コードの考えです。つまりは、Shift_JIS にエンコードしてやれば、半角 1 バイト、全角 2 バイトでのバイト数