訪問して頂きありがとうございます。まさふくろーです。
この記事では、指定バイト数分の文字を抜き出す方法をご紹介します。
指定バイト数分の文字を抜き出す
- .NET Frameworkでは、文字列はすべてUnicode文字として扱われます。
- バイト数は、文字コード体系(シフトJIS、EUC-JP、UTF-8など)によって異なります。
- シフトJISのバイト数(半角1バイト、全角2バイト)を求めるには、まず、Unicode文字列をシフトJIS文字列に変換する必要があります。
- シフトJIS文字列に変換するには、GetEncodingメソッドを使います
- 書式は、以下になります。
Encoding.GetEncoding("Shift_JIS")
- 次に、バイト数を取得することができるGetByteCountメソッドを組み合わせます。
- 書式は、以下になります。
シフトJISのバイト数 = Encoding.GetEncoding("Shift_JIS").GetByteCount(文字列)
サンプルプログラム
名前空間のインポート
1 | 文字エンコーディングを使うため、System.Text名前空間をインポート。 |
先頭の3バイトを取得する処理
2 | 「先頭の3バイトを取得する」ボタンがクリックされた場合に、以下処理を行う。 |
10 | テキストボックスに入力した値を、文字列型の変数「InputString」に代入。 |
12 | 0~変数「InputString」の値の長さ-1回まで以下処理を繰り返す。(テキストボックスに入力された文字を1文字ずつ処理する。) |
14 | 変数「InputString」の値から1文字抜き出し、バイト数を取得し、整数型の変数「Len」に代入。 |
16 | 変数「Len」の値(バイト数)を、整数型の変数「lenSum」に加算する。 |
18 | 変数「lenSum」の値(バイト数)が「3」以下の場合、以下処理を行う。 |
20 | 可変型の文字列変数「sb」に文字を足していく。 |
26 | 変数「sb」の値をラベルに表示する。 |
関連記事
最後まで読んでいただき、ありがとうございました!
本のまとめ関連記事はこちら