[ C# / VB.NET ] Base64エンコードとデコード ( Convert.ToBase64String, FromBase64String )

Pocket

ここでは、文字列 ( バイト配列であれば何でもOK ) を Base64 エンコードされた文字列に変換し、エンコードされた文字列に対して Base64 デコードを行い、元の文字列に再変換するサンプルを掲載しています。

スポンサーリンク

Base64 エンコードとデコードのサンプル

Base64 エンコードおよびデコードを行うサンプルコードです。詳細はサンプル内のコメントも参照ください。

VB.NET

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        ' 文字コードはUTF8とする
        Dim utf8 As UTF8Encoding = New UTF8Encoding()

        ' Base64文字列を作成
        Dim base64str As String = Base64Encode("はーれたそら~そ~よぐかぜ~", utf8)

        Console.WriteLine(base64str)

        ' Base64文字列をデコードし、元の文字列を復元
        Dim decodestr As String = Base64Decode(base64str, utf8)

        Console.WriteLine(decodestr)

    End Sub

    ' Base64エンコード
    Private Function Base64Encode(ByVal str As String, ByVal enc As Encoding) As String

        Dim data() As Byte = enc.GetBytes(str)
        Return Convert.ToBase64String(data)

    End Function

    ' Base64デコード
    Private Function Base64Decode(ByVal str As String, ByVal enc As Encoding) As String

        Dim data() As Byte = Convert.FromBase64String(str)
        Return enc.GetString(data)

    End Function

C#

    private void button1_Click(object sender, EventArgs e)
    {
        // 文字コードはUTF8とする
        UTF8Encoding utf8 = new UTF8Encoding();

        // Base64文字列を作成
        string base64str = Base64Encode("はーれたそら~そ~よぐかぜ~", utf8);

        Console.WriteLine(base64str);

        // Base64文字列をデコードし、元の文字列を復元
        string decodestr = Base64Decode(base64str, utf8);

        Console.WriteLine(decodestr);
    }

    // Base64エンコード
    public string Base64Encode(string str, Encoding enc)
    {
        byte[] data = enc.GetBytes(str);
        return Convert.ToBase64String(data);
    }

    // Base64デコード
    public string Base64Decode(string str, Encoding enc)
    {
        byte[] data = Convert.FromBase64String(str);
        return enc.GetString(data);
    }

スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *