C# 文字列をBase64からデコードする

  • 作成日 2020.12.19
  • 更新日 2022.03.04
  • C#
C# 文字列をBase64からデコードする

C#で、Convert.FromBase64Stringを使用して、文字列をBase64からデコードするサンプルコードを記述してます。

環境

  • OS windows10 pro 64bit
  • Microsoft Visual Studio Community 2019 Version 16.7.1

Convert.FromBase64String使い方

Convert.FromBase64Stringを使用すると、Base64から文字列にデコードすることが可能です。

// System.Textを使用
using System.Text;

// UTF-8を指定
Encoding enc = Encoding.GetEncoding("UTF-8");

// エンコード
string str = Convert.ToBase64String(enc.GetBytes("mebee"));

// 表示
Console.WriteLine(str);

// エンコードしたものをデコード
str = enc.GetString(Convert.FromBase64String(str));

// 表示
Console.WriteLine(str);

実行結果

bWViZWU=
mebee

サンプルコード

以下は、
「実行」ボタンをクリックするとtextbox1の値を取得しエンコードした後に、textbox2のテキストフォームに出力したものを、再度デコードしてtextbox3に表示する
サンプルコードとなります。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;

namespace FormTestApp
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // UTF-8を指定
            Encoding enc = Encoding.GetEncoding("UTF-8");

            // エンコード
            string str = Convert.ToBase64String(enc.GetBytes(textBox1.Text));
            
            // textbox2に表示
            textBox2.Text = str;

            // textbox3に表示
            textBox3.Text = enc.GetString(Convert.FromBase64String(str));
        }
    }
}

デコードされて表示されることが確認できます。