ByteArray、16进制、字符串之间的转换
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;
} } }
ByteArray、16进制、字符串之间的转换的更多相关文章
- C#字符串和16进制字符串之间的转换
将字符串编码成 16进制 字符串表示: using System;using System.Collections.Generic;using System.Linq;using System.Tex ...
- golang中字符串、bytes类型切片、16进制字符串之间的转换
func main() { // 字符串转bytes类型 name := "马亚南" fmt.Println(name) // 马亚南 bName := []byte(name) ...
- Java中byte与16进制字符串的互相转换
* Convert byte[] to hex string.这里我们可以将byte转换成int,然后利用Integer.toHexString(int)来转换成16进制字符串. * @param s ...
- [转]Java中byte与16进制字符串的互相转换
Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示(23 + 22 + 21 + 20 = 15),所以我们就可以把每个byte转换成两个相应的16进制字符, ...
- python中2进制、10进制、16进制等之间的转换
10转2: bin(8) # '0b1000' 2转10: int( 10转16: hex(15) # '0xf' 16转10: int( 2进制和16进制中间通过转10进制可以相互转换 from b ...
- 字节流、字符串、16进制字符串转换__Java(转)
/** * @Package: * @ClassName:TypeConversion * @Description:字节流.字符串.16进制字符串转换 * @author:xk * @date:Ja ...
- iOS 16进制字符串转换成int十进制
NSRange rangeErr; rangeErr.location = 6; rangeErr.length = 2; NSString *strings = [value substringWi ...
- Java中将16进制字符串转换成汉字
技术交流群:233513714 /** * 将16进制字符串转换成汉字 * @param str * @return */ public static String deUnicode(String ...
- java中 16进制字符串 与普通字符串 与 byte数组 之间的转化
方法依赖commons-codec包 maven的引入方式如下 <dependency> <groupId>commons-codec</groupId> < ...
- C# byte[] 转换16进制字符串
1.byte[] 转换16进制字符串 1.1 BitConverter方式 var str = DateTime.Now.ToString(); var encode = Encoding.UTF8; ...
随机推荐
- Flask報錯 KeyError 'SQLALCHEMY_TRACK_MODIFICATIONS'.md
KeyError: 'SQLALCHEMY_TRACK_MODIFICATIONS' 关于flask-sqlalchemy中出现的 KeyError: 'SQLALCHEMY_TRACK_MODIFI ...
- [SNOI2019]纸牌
传送门 Description 有一副纸牌.牌一共有\(n\)种,分别标有 \(1,2,...,n\),每种有\(C\)张.故这副牌共有\(nC\)张. 三张连号的牌(\(i,i+1,i+2\))或三 ...
- OpenFOAM——具有压差的平行平板间流动(泊肃叶流动)
本算例翻译整理自:http://the-foam-house5.webnode.es/products/chapter-1-plane-parallel-plates-case/ 这个算例中两平板间没 ...
- hdoj - 1864 最大报销额
Problem Description 现有一笔经费可以报销一定额度的发票.允许报销的发票类型包括买图书(A类).文具(B类).差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品 ...
- java spring学习
目的:为后面学习spring mvc ssm spring boot 打基础. 从单词就能看到有s,记录自学过程,感慨spring 一篇文章都写不完 介绍(来源百度百科): Spring是一个开源框架 ...
- 滚动事件优化 passive
1.addEventListener参数 target.addEventListener(type, listener[, options]); target.addEventListener(typ ...
- C语言 sscanf函数补充
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <assert.h&g ...
- (转载)Universal Correspondence Network
转载自:Chris Choy's blog Universal Correspondence Network In this post, we will give a very high-level ...
- 映美FP-530K+打印发票的各种经验
本人虽然写了很多lodop博文,但是程序开发一般都是用虚拟打印机测试,实际打印机打印中还可能存在各种问题,毕竟理论都不如实践能获得更多的打印经验.当个人使用过的打印机不多,只有映美FP-530K+,用 ...
- Linux故障排查之CPU占用率过高
有时候我们可能会遇到CPU一直占用过高的情况.之前我的做法是,直接查找到相关的进程,然后杀死或重启即可.这个方法对于一般的应用问题还不大,但是要是是重要的环境的话,可万万使不得. 如果是重要的环境,那 ...