Archive for 2009/8/18
16進数をソースコード上に直接記述するには、
var code:int = 0xff;
のように0xと付ければよい。
では、8進数はといえば、実はActionScript3 では直接記述する方法はないようです。
ただし、
var num:int = 0766;
のように記述してもこれは、8進数ではなく、10進数の766です。
したがって、8進数を入力したい場合には
var num1:int = parseInt("0766",8);
// もしくは
var num2:int = parseInt("766",8);
のように記述する必要があるというわけです。
頭に”0″をつけるのは好き好きで可能です。
また、16進数でparseIntを使うと
var num1:int = parseInt("1f6",16);
var num2:int = parseInt("0x1f6",16);
で問題ない。
ただし、
var i:int = parseInt("790",8);
のように、8進数ではありえない数字[9]があってもエラーにはならなく、
この結果は「7」となってしまうようです。
同様に、n進数はparseInt(number,n)の基数nを変えればいいということです。
では、次に与えられた数字を16進数や、8進数ではどのようになるのだろうか?ということを求めるにはどうしたらいいだろうか?
これは、非常に簡単だ。
var num:int = 504; trace(num.toString(16)); // 16進数 -- 1f8 trace(num.toString(8)); // 8進数 -- 770 trace(num.toString(2)); // 2進数 -- 111111000
となる。
このような関数は知らなくても、簡単に作れてしまうために調べる手間より作ってしまえと思ってしまうことがあるが、
やっぱり他の人が見ることがあることを考えると標準を使うほうがよいだろう。
散々今まで作ってきたAIRでのZIP解凍&圧縮ライブラリですが、
ソースとドキュメントを公開しました。
ライセンスはLGPLとなっています。
これでZIP関連はまあ、ひと段落ついたので今度はメール関連を作っていきます。

