今回は Unityを用いて、データを Base64 変換 する方法を紹介します。
Base64とはデータを基本的な64種類の印字可能な英数字のみで表すデータ方式。Unityでの開発で常に使うものでもないですが。
私の場合、他システムとの連携時に他システム側の API仕様で Unityアプリ側での変換が必要であったので使用しました。やはりサーバーとの連携で、クライアント側での変換が必要と言う方は多いのではないでしょうか。

今回はこの Base64とは と言うところから Unityでの各種 Base64の使用法まで紹介して行きます。
【Base64とは】
このBase64への変換をUnityで行う方法を示します。
引数は byte[ ]形式となります。そして、抽出データが Base64形式の Stringデータとなります。
public static string ToBase64String (byte[] inArray);
こちらは逆の変換となりますので、引数がBase64形式のStringデータで、抽出データがbyte[]形式となります。
public static byte[] FromBase64String (string s);
【Base64とは】
まず、そもそも Base64とは。Base64とはデータを基本的な64種類の印字可能な英数字のみで表すデータ方式。とても分かりやすいネーミングです。
この64種類に含まれるのは大文字アルファベットA-Z(26文字)、小文字アルファベットa-z(26文字)、数字0-9(10文字)のトータル62文字。これに加え、記号「+」「/」の2つを加え、トータル64文字となります。
(正確には余った部分を詰めるのに記号「=」も使っています。)
そのイメージは以下のような感じです。

そのイメージは以下のような感じです。

これを何に使うかと言うと、これら通常文字化けのないような基本的な英数字を用いることにより、英数字以外の文字が扱えない環境でも利用可能となります。特に7ビットのデータしか扱うことの出来ない電子メールにて広く利用されているとのことです。
要はネットワーク越しの他システム・他環境とのデータのやり取りする場合に使用されるわけです。
要はネットワーク越しの他システム・他環境とのデータのやり取りする場合に使用されるわけです。
問題点としては、この変換により通常データ量は大きくなります。(約3分の1大きくなるとのこと。)
【Unityでの利用法】
このBase64への変換をUnityで行う方法を示します。
まず、Base64に変換する方法は以下となります。
string base64text = Convert.ToBase64String (bytes);
引数は byte[ ]形式となります。そして、抽出データが Base64形式の Stringデータとなります。
public static string ToBase64String (byte[] inArray);
また、逆にBase64から元に戻す方法は以下となります。
byte[] bytes = Convert.FromBase64String (base64text);
こちらは逆の変換となりますので、引数がBase64形式のStringデータで、抽出データがbyte[]形式となります。
public static byte[] FromBase64String (string s);
そしてUnityでの使用例です。使用例として次回にテキストデータの Base64変換を、その次に Textureデータの Base64変換を説明します。
Sponsored Link