前回より Unityを用いて、データを Base64 変換 する方法を紹介しています。


Base64とはデータを基本的な64種類の印字可能な英数字のみで表すデータ方式
Unityでの開発で常に使うものでもないですが。サーバーとの連携時にクライアント側での変換が必要と言う方は多いのではないでしょうか。

前回はまずは Base64変換とは と Unityでの使用法を解説しました。今回は実際に Unityでテキストデータを Base64変換してみます。
Unity Basic_082

【テキストデータをBase64化】

ここからは実例を紹介します。まず通常のテキストデータを Base64変換して、また逆に元に戻してみましょう。

まず前回説明した通り、Base64変換には byte[]データを介する必要がありますので、テキスト => byte[ ] と、byte[ ] => テキスト の変換が必要となります。それには以下の方法を使います。
注意: using System.Text; が必要です。)

テキスト => byte[ ]

 byte[] bytes = Encoding.UTF8.GetBytes (text);

byte[ ] => テキスト

 string text = Encoding.UTF8.GetString (bytes);


上記を利用して、テキストデータを Base64変換して、また逆に元のテキストデータへ戻すプログラムは以下のようになります。

Unity Basic_083

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

using System.Text;

public class Base64_Conversion : MonoBehaviour
{
    void Start()
    {
        string text_Before = "変換前のテキスト";

        //String->byte変換
        byte[] byte_Before = Encoding.UTF8.GetBytes(text_Before);

        //BASE64への変換
        string encodedText 
            = System.Convert.ToBase64String(byte_Before);
        Debug.Log(encodedText);

        //BASE64からの変換
        byte[] byte_After 
            = System.Convert.FromBase64String(encodedText);

        //byte->String変換
        string text_After = Encoding.UTF8.GetString(byte_After);
        Debug.Log(text_After);
    }
}


【実行結果】

そして、その実行結果は以下のようになります。
Unity Basic_084

まず、最初の Base64変換後のテキストを出力すると以下のようになっています。
正しいか正確には分かりませんが、それらしいテキストが出力されます。
Unity Basic_085

そして、その Base64変換された結果をテキストへ逆変換すると以下のようになりました。
最初のテキストに戻りましたので、途中の Base64変換も正しかったことが分かります。
Unity Basic_086




Base64変換の基礎的な説明は終わりました。次回はより UnityらしくTextureのデータを Base64のテキストに変換してみます。



Sponsored Link