[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;  
            }

 

转载于:https://www.cnblogs.com/frost-yen/p/6691718.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值