ByteArray (1)
2008/07/25 21:20 - AS3.0
ドット・タイポを先に進める前に、ここで ByteArray についての知識を仕入れておきたいと思います。
Flash 関連の書籍で ByteArray について触れているのは、私の知る限りでは「FLASH OOP for ActionScript 3.0」のみですので、それと LiveDocs の ByteArray のページの二つを参考に、自分の頭の中を整理します。
とにかく私の ByteArray についての知識はまったくの白紙状態と言ってもよろしい。 よって他言語の文献に当たるのは、ある程度の知識を得た後にしたいと思います。
なお、ByteArray は、ブール値、数値、文字列、オブジェクトを格納できるようですが、とりあえずはブール値と数値に関わるものについてのみ学びます。
そも ByteArray クラスとは何ぞやと言えば、バイトレベルでデータを蓄積するためのクラス、でいいんですよね。
そしてそのデータを管理するための最小単位は1バイトであるとのこと。 ということは最小単位で 256パターンを識別することができるということですか。
ところで私はなぜ ByteArray に手を染めようと思ったのか。
ドット・テキストのデータ管理をどうしたものかと考えているときのことです。 true もしくは false のいずれかが1単位で、それなりの長さになるデータ配列オブジェクトを、どのような形に設計するべきか。 1単位1ビットで済むものに Array や Vector 使うのは何かもったいないなー、と思うのは極めて健全なことでしょう。
自前で2進数をデータ配列として扱うようなクラスでも作るべきなのか知らん、とも思ったんですが、そう言や ActionScript 3.0 ではビルトインで ByteArray ってクラスが存在してるんだから、まずそっちについて学ぶのがスジだろうと考え直したわけです。
しかしながら ByteArray ではブール値を格納するのにも8ビットの容量を食らうという事実を知って、ちょっと出端をくじかれましたよ。
ですが、気を取り直して先に進みます。
プロパティ
重要なプロパティは以下の二つ。
length
ByteArray の長さ。
ただし Array や Vector の length は要素の個数ですが、ByteArray の length は ByteArray オブジェクトのバイト長であるとのこと。
position
これは ByteArray オブジェクトの何処から書き込むのか、あるいは読み込むのかを指し示すポインタであるとのこと。
残りのプロパティは、何があったっけなぁー、と思ったときにリファレンスを見る程度の扱いで充分じゃないかと思いますが、この二つは暗記しといた方が無難です、ってゆーか暗記しとけ。