データ操作

[C#] 文字列のバイト数を取得する

2021年4月30日

文字列のバイト数を取得するサンプルです。

サンプル

例)文字列「あいうえお」のバイト数を取得する

using System.Text;

//.NetCoreの場合はこの記述が必要です。(.NetFrameworkの場合は不要です。)
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

//対象文字列
string str = "あいうえお";

//文字コードをShift-JISとしてバイト数を取得する
Encoding encShiftJis = Encoding.GetEncoding("Shift_JIS");
int cnt1 = encShiftJis.GetByteCount(str);
→ 10

//文字コードをUTF-8としてバイト数を取得する
Encoding encUtf8 = Encoding.GetEncoding("utf-8");
int cnt2 = encUtf8.GetByteCount(str);
→ 15

全角文字1文字をShift-JISでは2バイト、UTF-8では3バイト使用します。

備考

  • 文字列のバイト数は、文字列の文字コードによって変わってくるため文字コードを指定した上で.GetByteCountでバイト数を取得します。
  • 単純に文字数を取得したい場合は、.Lengthを使用します。
    (下記、関連記事をご覧ください。)
  • .Net CoreでShift-JISを使用する場合は、以下関連記事もご覧ください。

関連記事

-データ操作
-