訪問して頂きありがとうございます。まさふくろーです。
この記事では、指定バイト数分の文字を抜き出す方法をご紹介します。
指定バイト数分の文字を抜き出す
Encoding.GetEncoding("Shift_JIS")
シフトJISのバイト数 = Encoding.GetEncoding("Shift_JIS").GetByteCount(文字列)
サンプルプログラム
名前空間のインポート
1 |
Imports System.Text |
1 | 文字エンコーディングを使うため、System.Text名前空間をインポート。 |
先頭の3バイトを取得する処理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim InputString As String Dim Pos As Integer Dim Len As Integer Dim lenSum As Integer Dim sb As New Text.StringBuilder InputString = TextBox1.Text For Pos = 0 To InputString.Length - 1 Len = Encoding.GetEncoding("Shift_JIS").GetByteCount(InputString.Substring(Pos, 1)) lenSum += Len If lenSum <= 3 Then sb.Append(InputString.Substring(Pos, 1)) End If Next Label1.Text = sb.ToString End Sub End Class |
2 | 「先頭の3バイトを取得する」ボタンがクリックされた場合に、以下処理を行う。 |
10 | テキストボックスに入力した値を、文字列型の変数「InputString」に代入。 |
12 | 0~変数「InputString」の値の長さ-1回まで以下処理を繰り返す。(テキストボックスに入力された文字を1文字ずつ処理する。) |
14 | 変数「InputString」の値から1文字抜き出し、バイト数を取得し、整数型の変数「Len」に代入。 |
16 | 変数「Len」の値(バイト数)を、整数型の変数「lenSum」に加算する。 |
18 | 変数「lenSum」の値(バイト数)が「3」以下の場合、以下処理を行う。 |
20 | 可変型の文字列変数「sb」に文字を足していく。 |
26 | 変数「sb」の値をラベルに表示する。 |
関連記事
最後まで読んでいただき、ありがとうございました!
本のまとめ関連記事はこちら