テキストの文字数と文字バイト数を取得する .NET でも、テキストの文字数と文字バイト数を取得することが可能です。フォームに次の様なコードを記述します-----------VB.NETコーディングここから-------------------1.フォームに、テキストボックスコントロール、 ボタンコントロール を配置します。 下記は、デフォルトのオブジェクトの名前と配置を示しています。 ┏━━━━━━━━━━━┓ ┃TextBox1 ┃ ┗━━━━━━━━━━━┛ ┏━━━━┓ ┃Button1 ┃ ┗━━━━┛2.ボタンコントロールの Button1 text プロパティに「確認」と記述します。 ※説明用のためです。必須ではありません。 ┏━━━━━━━━━━━┓ ┃TextBox1 ┃ ┗━━━━━━━━━━━┛ ┏━━━━┓ ┃確認 ┃ ┗━━━━┛3.ボタンコントロールをダブルクリックして、 ボタンのクリックイベントの編集を開始して、 フォームの宣言部に、次のコードを記述します。 Imports System.text さらに、次のコードを記述します。 Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim strStr As String Dim sjisEnc As Encoding Dim intStrLen As Integer Dim intStrByte As Integer strStr = TextBox1.Text sjisEnc = sjisEnc.GetEncoding("Shift_JIS") intStrByte = sjisEnc.GetByteCount(strStr) intStrLen = strStr.Length MsgBox("文字数" + CStr(intStrLen) + _ " 文字バイト" + CStr(intStrByte)) End Sub4.ビルドして実行します。5.フォームに表示された テキストボックスに、「みかん8個」。6.フォームに表示された ボタン「確認」を押します。7.メッセージボックスに 「 文字数5 文字バイト9 」と表示されます。-----------VB.NETコーディングここまで-------------------String.Length文字数では、2バイト文字である 「みかん個」が4文字としてカウントされ、1バイト文字である「8」が1文字とカウントされ、計5文字として返されます。sjisEnc.GetByteCount(String)文字バイト数では、2バイト文字である「みかん個」が4文字×2バイト=8バイトとしてカウントされ、1バイト文字である「8」が1文字×1バイト=1バイトとなり、計9バイトとして返されます。用途は様々ですが、例えば、ディスクへの書き込みや、データベースフィールドなどで、半角、全角が混在している場合に、入力できるかどうかの精査で実際のサイズが必要な場合があります。このような時は、バイトを参照するかと思います。また、文字数は、特定の文字部分から何文字を抜き取るといったケースで重宝するかと思います。どちらも便利ですね。
Copyright(c)2001-2004 Ai Net Makoto 記事・情報の無断転載を禁止します。