C# で Base64 文字列をエンコードおよびデコードを行う

Muhammad Maisam Abbas 2024年2月16日
  1. C# の Convert.ToBase64String() メソッドを使用して、文字列を Base64 文字列にエンコードする
  2. C# の Convert.FromBase64String() メソッドを使用して、Base64 文字列から文字列をデコードする
C# で Base64 文字列をエンコードおよびデコードを行う

このチュートリアルでは、C# で base64 文字列をエンコードおよびデコードする方法について説明します。

C# の Convert.ToBase64String() メソッドを使用して、文字列を Base64 文字列にエンコードする

Convert クラスは、C# で 1つの基本データ型を別の基本データ型に変換できます。Convert.ToBase64String() メソッドは、バイトの配列を C# の base64 文字列変数に変換します。文字列変数を base64 文字列に変換するには、最初にその文字列をバイトの配列に変換する必要があります。Encoding.UTF8.GetBytes() メソッドは、文字列変数を C# のバイト配列に変換します。次のコード例は、C# の Convert.ToBase64String() 関数を使用して文字列変数を base64 文字列にエンコードする方法を示しています。

using System;
using System.Text;

namespace encode_and_decode_base64_string {
  class Program {
    public static string Base64Encode(string plainText) {
      var plainTextBytes = Encoding.UTF8.GetBytes(plainText);
      return System.Convert.ToBase64String(plainTextBytes);
    }
    static void Main(string[] args) {
      string original = "This is a string";
      Console.WriteLine("Original String = " + original);
      string base64 = Base64Encode(original);
      Console.WriteLine("Encoded String = " + base64);
    }
  }
}

出力:

Original String = This is a string
Encoded String = VGhpcyBpcyBhIHN0cmluZw==

This is a string の文字列変数 original を値 VGhpcyBpcyBhIHN0cmluZw== の base64 文字列 base64 にエンコードしました。最初に、文字列 plainTextEncoding.UTF8.GetBytes(plainText) 関数を使用してバイト配列 plainTextBytes に変換しました。バイト配列 plainTextBytesConvert.ToBase64String(plainTextBytes) 関数を使用して base64 文字列にエンコードしました。

C# の Convert.FromBase64String() メソッドを使用して、Base64 文字列から文字列をデコードする

Convert.FromBase64String() メソッドは、base64 文字列変数を C# のバイト配列に変換できます。base64 でエンコードされた文字列を標準の文字列変数に変換するには、Convert.FromBase64String() メソッドによって返されるバイトの配列を、Encoding.UTF8.GetString() メソッドを使用して文字列変数に変換する必要があります。次のコード例は、C# の Convert.FromBase64String() 関数を使用して、base64 文字列を文字列変数にデコードする方法を示しています。

using System;
using System.Text;

namespace encode_and_decode_base64_string {
  class Program {
    public static string Base64Decode(string base64EncodedData) {
      var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData);
      return System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
    }
    static void Main(string[] args) {
      string base64 = "VGhpcyBpcyBhIHN0cmluZw==";
      Console.WriteLine("Encoded String = " + base64);
      string original = Base64Decode(base64);
      Console.WriteLine("Decoded String = " + original);
    }
  }
}

出力:

Encoded String = VGhpcyBpcyBhIHN0cmluZw==
Decoded String = This is a string

VGhpcyBpcyBhIHN0cmluZw== の base64 文字列 base64 を、値 This is a string の文字列変数 original にデコードしました。まず、Convert.FromBase64String(base64EncodedData) 関数を使用して、base64EncodedData 文字列をバイト配列 base64EncodedBytes に変換しました。Encoding.UTF8.GetString(base64EncodedBytes) 関数を使用して、バイト配列 base64EncodedBytes を文字列変数 original に変換しました。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

関連記事 - Csharp String