文字列の文字数・バイト数を取得する (4個) (SNo.013) 1.文字列の文字数を取得する (2方法) 2.半角2バイト換算での文字列のバイト数を取得する 3.半角1バイト・全角2バイト換算での文字列のバイト数を取得する |
|
使用コントロール | Button1 〜 Button3 |
その他条件 | WindowsXP(Vista) Visual Basic 2005(VB2008) |
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click ''文字列の文字数を取得する Dim str1 As String = "123あいう" 'String.Length プロパティ を使っての文字数を取得 Debug.WriteLine(str1.Length) '結果 6 'Len 関数を使っての取得 Debug.WriteLine(Microsoft.VisualBasic.Len(str1)) '結果 6 End Sub |
|
Private Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click ''半角2バイト換算での文字列のバイト数を取得する。 Dim str1 As String = "123あいう" Dim LenB As Integer 'Encoding.GetByteCount メソッド '指定した文字配列をエンコードするために必要なバイト数を計算します LenB = System.Text.Encoding.Unicode.GetByteCount(str1) Debug.WriteLine(LenB.ToString) '結果 12 'VB.NET には LenB 関数はありません。 End Sub |
|
Private Sub Button3_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button3.Click ''半角1バイト換算での文字列のバイト数を取得する。 Dim str1 As String = "123あいう" Dim LenB As Integer Dim s_jis As System.Text.Encoding = System.Text.Encoding.GetEncoding("Shift_JIS") LenB = s_jis.GetByteCount(str1) Debug.WriteLine(LenB.ToString) '結果 9 '又は LenB = System.Text.Encoding.GetEncoding("shift-jis").GetByteCount(str1) Debug.WriteLine(LenB.ToString) '結果 9 LenB = System.Text.Encoding.GetEncoding(932).GetByteCount(str1) Debug.WriteLine(LenB.ToString) '結果 9 '参考 システムの現在の ANSI コード ページのエンコーディングに必要なバイト数 Debug.WriteLine(System.Text.Encoding.Default.GetByteCount(str1)) '結果 9 End Sub |
2004/04/25
2005/09/05