views:

30

answers:

1

Is there an easy way to get the byte length of a string in AS3? String.length works in many cases, but breaks if it encounters mulibyte unicode characters.

(in this particular case, I need to know this so I can preface messages sent across a TCP socket with the message length. This is in standard netstring format e.g. "length:message,").

+1  A: 

Use a ByteArray like so:

   var b:ByteArray = new ByteArray();
   b.writeUTFBytes("This is my test string");
   trace("Byte length: " + b.length);

Info on ByteArray here: http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/flash/utils/ByteArray.html

Mondain