タグ

ブックマーク / jeanne.wankuma.com (2)

  • VB.NET - 文字列の一部をバイト単位で取り出す (LeftB, MidB, RightB)

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

  • VB.NET - 文字列のバイト数を取得する (LenB)

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

  • 1