ByteArray转换16进制
ByteArray中的数据用16进制表示
一、说明
我写的这个方法要将ByteArray中的数据转换成16进制,ByteArray中的数据只能是32位的无符号整数,这个是前提。
因为ByteArray中操作的是字节,1个字节8位,而一个16进制由两个字节组成,一个32位无符号数由4个字节组成,所以每次我们都取一个字节的数据,然后转换成16进制,就可将起全部转换成16进制数据
如果要将字符转换成ByteArray,我们只要做一下方向操作即可
二、代码
先向ByteArray中写入数据var byte:ByteArray = new ByteArray();
byte.writeUnsignedInt(2000);
var str:String=byteArr2HexStr(byte);//通过byteArr2HexStr();方法转换成16进制字符串trace(str);var b:ByteArray=hexStr2ByteArr(str);//通过hexStr2ByteArr();方法转换成ByteArray
trace(b.readUnsignedInt());
public static function byteArr2HexStr(value:ByteArray) : String{
var readValue:uint = 0;
if (value == null) {
Return "";
}
if (value.length == 0) {
return "";
}
var len:int = value.length;
var str:String = "";
value.position = 0;
var position:int = 0;
while (position < len) {
readValue = value.readUnsignedByte();//读取一个字节
if (readValue < 16){
str = str + "0";
}
str = str + readValue.toString(16);
position = position + 1;
}
return str;
}
public static function hexStr2ByteArr(value:String) : ByteArray{
if (value == null){
return null;
}
var byte:ByteArray = new ByteArray();
var position:int = 0;
while (position < value.length) {
byte.writeByte(Number("0x" + value.substr(position, 2)));//因为ByteAarray操作的是字节,所以要读取两位,两个字节表示一个16进制数
position = position + 2;
}
byte.position = 0;
return byte;
}
转自:
yoewan分享
分享到:
相关推荐
在VB6.0编程环境中,开发上位机应用程序时,我们常常需要处理16进制(Hexadecimal)和ASCII码(American Standard Code for Information Interchange)之间的转换。这两种编码方式在计算机通信、数据传输和存储等...
Dim hexString As String = BitConverter.ToString(byteArray).Replace("-", "") ' 将字节数组转换为16进制字符串 Console.WriteLine(hexString) ``` 同样,如果我们需要处理双精度浮点数,只需要将`Single`替换为`...
接着,我们逐字节读取文件,并将每个字节转换为16进制字符串,添加到`QByteArray`中。最后,我们关闭文件,并输出16进制字符串。 对于初学者来说,理解二进制数据和16进制表示非常重要。16进制是一种逢16进1的计数...
可以获取textEdit上的QString类型16进制数转换为ByteArray; 输入数据错误判断及提示; CRC16校验计算公式; 计算ByteArray的crc16结果; 结果转换为QString,并且每两位数据都需要增加空格展示; 输入清除功能; ...
2. 转换过程:将汉字转换为16进制,我们需要先获取汉字对应的字节序列,然后将每个字节转换为16进制字符串。例如,对于GBK编码,我们可以使用Python的`encode('GBK')`方法得到字节,再用`hex()`函数将其转换为16进制...
`HEXtoString as3.as`这个文件可能包含一个函数,用于将16进制字符串转换为ByteArray,以便于Socket通信。 在AS3中,使用Socket类的步骤如下: 1. **创建Socket实例**:首先,你需要创建一个Socket对象,例如`var ...
在RS232通讯中,16进制输入通常意味着用户输入的是16进制数字,这些数字需要转换为相应的二进制值,然后组成字节流进行传输。例如,16进制数字'0A'对应二进制的'1010',在RS232中,可能表示ASCII字符的换行符('\n'...
这个函数会去除非16进制字符,并将剩余的16进制字符串转换为字节数组。 在进行这些转换时,需要注意以下几点: - 字符编码的选择至关重要,因为不同的编码方式会导致不同的字节序列。例如,UTF-8和Unicode编码对非...
7. 示例代码:在给定的"ByteArray"文件中,可能存在实现这些转换的源代码。通过分析和理解代码,可以学习到实际应用中的转换方法和技巧。 总之,整形数组与字符数组的转换是数据处理中的基础操作,涉及到数据类型...
十六进制(Hexadecimal)是一种数值表示方式,它使用16个符号(0-9及A-F)来代表从0到255的数值,这对于程序员来说非常方便,因为每个字符可以表示一个字节的数据。本教程将深入讲解如何编程实现十六进制数据的发送...
例如,`hex()`函数可以将十进制整数转换为小写的十六进制字符串,而`int()`函数则可以将十六进制字符串转换回整数。例如: ```python num = 255 hex_str = hex(num) # "0xff" hex_num = int(hex_str, 16) # 255 ```...
- **二进制与十六进制转换**:可以使用`Integer.parseInt()`或`Long.parseLong()`方法配合`format()`函数将16进制字符串转换为二进制,反之亦然。 - **字符串与字节数组转换**:`getBytes("UTF-8")`可以将字符串...
这段代码中,`ToString("X2")`将每个字节转换为其16进制表示,前导零被自动添加,如果需要的话。 相反,如果你有一个16进制格式的`string`,如"ae00cf",并想将其转换回`byte[]`,可以使用以下方法: ```csharp ...
1. **ACT_GE_BYTEARRAY**:这个表存储流程定义和流程资源,如流程图、XML流程定义文件等。每个流程定义或资源都有一个唯一的ID,用于在运行时引用。 2. **ACT_GE_PROPERTY**:系统相关属性表,包含系统级别的配置...
在Android开发中,Bitmap是用于表示图像数据的一种对象,它在内存中占用较大空间,因此在处理图片时,我们有时需要将其转换为byte数组(byte[]),以便于存储、传输或者在网络流中使用。这个过程涉及到图像数据的...
此外,`bytes`还有类方法`fromhex()`,用于将16进制字符串转换为`bytes`对象。 `bytearray`则是一个可变的字节数组,它可以像列表一样进行增删改操作。它的初始化方法与`bytes`类似,只是在最后多了一个可选的`...
接下来,我们关注一个特殊的需求,即把`byte[]`转换为16进制表示的`string`。例如,`byte[]` `{0xAE, 0x00, 0xCF}` 转换为 `"AE00CF"`。以下是一个简单的实现: ```csharp public static string ToHexString(byte[]...
对于十六进制数,可以使用`Convert.ToInt32(hexString, 16)`将十六进制字符串转换为整数。 最后,日期型数据的转换通常涉及到`DateTime`类型。可以使用`DateTime.ToString()`将日期对象格式化为字符串,或使用`...
- `ToInt16`, `ToUInt16`: 将字节数组中的两个字节转换为有符号和无符号的16位整数。 - `ToInt32`, `ToUInt32`: 将字节数组中的四个字节转换为有符号和无符号的32位整数。 - `ToInt64`, `ToUInt64`: 将字节数组中...
`BitConverter.ToString(byteArray)`可以输出字节数组的十六进制表示,如果需要以十六进制字符串形式表示数值,可以使用`Convert.ToString(number, 16)`。 9. 日期型数据转换: 日期型数据`DateTime`可以使用`...