C# サンプル集 |
Visual Basic 中学校 > C# サンプル集 > 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
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
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
メモ:List<string>に限らず、JsonSerializerで解析できるオブジェクトはこの例が通用します。
Base64をバイト型の配列にデコードする
string base64 = "EjRWeJq83vA=";
byte[] bytes = Convert.FromBase64String(base64);
//バイト型の配列を16進数表記の文字列で出力します。
System.Diagnostics.Debug.WriteLine(Convert.ToHexString(bytes)); //123456789ABCDEF0