ヘッダー
C# サンプル集
 

Base64をデコードする

2022/12/18

→ Visual Basic のサンプルに切り替える → Python のサンプルに切り替える

 

Base64をUTF-8の文字列をデコードする

string base64 = "5b6z5bed5a625bq3QUJD";
string value = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(base64));

System.Diagnostics.Debug.WriteLine(value); //徳川家康ABC

Debug.WriteLineが表示される場所

 

 

Base64をShift_JISの文字列にデコードする

#if NETCOREAPP
//.NET CoreでShift_JISなど追加のエンコーディングを扱うために必要です。
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
#endif

string base64 = "k7+Q7InGjU5BQkM=";
string value = System.Text.Encoding.GetEncoding("Shift_JIS").GetString(Convert.FromBase64String(base64));

System.Diagnostics.Debug.WriteLine(value); //徳川家康ABC

Debug.WriteLineが表示される場所

 

 

Base64をオブジェクトにデコードする

オブジェクトの一例として、Base64 を List<string> にデコードする例。

string base64 = "WyJBcHBsZSIsIlx1NUZCM1x1NURERFx1NUJCNlx1NUVCNyIsIjEyMzQ1Il0=";
string json = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(base64));

//values は "Apple", "徳川家康", "12345" を要素に持つリストになります。
List<string> values = System.Text.Json.JsonSerializer.Deserialize<List<string>>(json)!;

//リストの要素を , で結合して1つも文字列として出力します。
System.Diagnostics.Debug.WriteLine(string.Join(",", values)); //Apple,徳川家康,12345

Debug.WriteLineが表示される場所

メモ:List<string>に限らず、JsonSerializerで解析できるオブジェクトはこの例が通用します。

 

 

Base64をバイト型の配列にデコードする

string base64 = "EjRWeJq83vA=";
byte[] bytes = Convert.FromBase64String(base64);

//バイト型の配列を16進数表記の文字列で出力します。
System.Diagnostics.Debug.WriteLine(Convert.ToHexString(bytes)); //123456789ABCDEF0

Debug.WriteLineが表示される場所