Flash: 文字列長
Flashのアクションスクリプトのソースコードの中に書ける文字列の最大長はいくつでしょうか。
答えは、65533です。
これは、SWFでスタックに値をPushするときに指定できるデータ長がunsigned shortであることが主な理由だと思われます。
たとえば、以下のようなコードで、長さ3の文字列"ABC"をスタックに積むことができます。
96 05 00 00 41 42 43 00
文字列長は3ですが、型情報(00:文字列)と区切り文字(最後の00)を含むのでPushするデータの長さは3+2=5になります(05 00の部分)。
データ長に指定できる値は0xFFFF = 65535までですから、65535から2を引いた65533文字までがpush可能であるということになります。
これはあくまでSWFに直接書ける文字列の最大長と言うことであって、文字列の連結などを行えば、さらに長い文字列を扱うことはできます。