[ActionScript 3.0] 记录几个ByteArray 十六进制 String等相互转换的方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ActionScript 3.0] 记录几个ByteArray 十六进制 String等相互转换的方法相关的知识,希望对你有一定的参考价值。
/** * 通过hax数据返回ByteArray * @param hax 格式 "AA5A000100FF" */ private 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" */ private function from16ToByteArray(str:String):ByteArray{ var b_ba: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); b_ba.writeByte(b_byte); } return b_ba; } /** * String转ByteArray * @param str * @return */ public function convertStringToByteArray(str:String):ByteArray { var bytes:ByteArray; if (str) { bytes=new ByteArray(); bytes.writeUTFBytes(str); } return bytes; } /** * ByteArray转String * @param bytes * @return */ public 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 */ private 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; }
以上是关于[ActionScript 3.0] 记录几个ByteArray 十六进制 String等相互转换的方法的主要内容,如果未能解决你的问题,请参考以下文章
ActionScript 3 TextManager ActionScript 3.0类
ActionScript 3 ActionScript 3.0算术运算符
ActionScript 3 ActionScript 3.0计时器事件
ActionScript 2.0 和 ActionScript 3.0 有啥区别