データ操作

[C#] 文字列からバイト数で部分文字列を切り出す

2021年9月4日

文字列からバイト数で部分文字列を切り出すサンプルです。

サンプル

例1)Shift-JISの文字列「あいうえお」の5バイト目から4バイト分の文字列を取得する


using System.Text;

//Shift-JISのエンコーディングを取得する
Encoding enc = Encoding.GetEncoding("Shift_JIS");

//文字列「あいうえお」の5バイト目から4バイト分を取得
byte[] b = enc.GetBytes("あいうえお");
string result = enc.GetString(b, 4, 4);

.Coreを使用している場合で例外が発生する場合は以下記事をご覧ください。
[C#] .NET CoreでShift-JISを扱う

結果

うえ

UTF-8は1文字を2バイトで表します。

 

例2)UTF-8の文字列「あいうえお」の7バイト目から6バイト分の文字列を取得する


using System.Text;

//Shift-JISのエンコーディングを取得する
Encoding enc = Encoding.UTF8;

//文字列「あいうえお」の7バイト目から6バイト分を取得
byte[] b = enc.GetBytes("あいうえお");
string result = enc.GetString(b, 6, 6);

結果

うえ

UTF-8は1文字を3バイトで表します。

備考

関連記事

-データ操作
-