【VB.NET】指定バイト数分の文字を抜き出すには?

訪問して頂きありがとうございます。まさふくろーです。

この記事では、指定バイト数分の文字を抜き出す方法をご紹介します。

指定バイト数分の文字を抜き出す

  • .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」の値をラベルに表示する。

関連記事

最後まで読んでいただき、ありがとうございました!

本のまとめ関連記事はこちら