ByteArray、16进制、字符串之间的转换:
package fengzi.convert {import flash.utils.ByteArray;public class ByteArrayTranslated{/**** 通过hax数据返回ByteArray* @param hax 格式 "AA5A000100FF"***/public static function getHax(hax:String):ByteArray{var byte:ByteArray=new ByteArray();for (var i:uint = 0; i<hax.length; i=i+2){trace(hax.substr(i, 2));trace(uint("0x"+hax.substr(i, 2)));byte.writeByte(uint("0x"+hax.substr(i, 2)));}return byte;}/**** 16进制数据返回ByteArray* @param str 格式 "AA5A000100FF"* @return bytes***/public static function from16ToByteArray(str:String):ByteArray{var bytes:ByteArray=new ByteArray();var b_arr:Array = str.split("");var b_length:int = b_arr.length;for (var i:int=0; i<b_length-1; i+=2){var b_char1:String = b_arr[i];var b_char2:String = b_arr[i + 1];var b_byte:int=parseInt(b_char1+b_char2,16);//trace("b_byte:",b_byte); bytes.writeByte(b_byte);}return bytes;}/*** * String转ByteArray * @param str 字符* @return bytes***/public static function convertStringToByteArray(str:String):ByteArray{var bytes:ByteArray;if (str){bytes=new ByteArray();bytes.writeUTFBytes(str);}return bytes;}/*** * ByteArray转String * @param bytes * @return str***/public static function convertByteArrayToString(bytes:ByteArray):String{var str:String;if (bytes){bytes.position = 0;str = bytes.readUTFBytes(bytes.length);}return str;}/*** * 把ByteArray转换为16进制的形式的字符串 * @param ba * @param name * @return ***/public static function byteArrayTo16(ba:ByteArray):String{ba.position = 0;var b_str:String = "";while (ba.bytesAvailable > 0){var b_s:String = ba.readUnsignedByte().toString(16);// trace("b_s:",b_s); if (b_s.length < 2){b_s = "0" + b_s;}b_str += b_s;}return b_str;}}}