ファイルを直接ByteArrayとして読み込む
新関数ReadByteArrayは,ファイルやストリーム内で直接ByteArrayに読み込み,バイトのリストを読み込んでから配列を作成することのオーバーヘッドを回避することができる.
ファイル内でByteArrayとして読む.
最初の6バイトをLatin-1エンコーディングの文字列に変換する.これらはデータをGIF画像として特定する.
次の4つのバイトは,画像の次元を2つの16ビット整数として符号化する.
バイナリデータを画像としてインポートし,次元を確かめる.
データをBase64として符号化する.
Base64で符号化されたデータは,元のデータよりも3分の1だけ大きいが,文字,数字,+,/だけを使う.このことによって,コントロールやその他の特殊記号によって混乱を起す可能性のあるメソッドを通して閲覧や送信を行うことが安全になる.
まずバイトのリストを読み込んでから配列を作成する代りに,直接ByteArrayに読み込むことによって,8倍近くのメモリを節約することができる.