`
czgcyujian
  • 浏览: 24336 次
  • 性别: Icon_minigender_1
  • 来自: 常州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

ByteArray转换16进制

 
阅读更多
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分享
分享到:
评论

相关推荐

    vb16进制与ASCII码转换

    在VB6.0编程环境中,开发上位机应用程序时,我们常常需要处理16进制(Hexadecimal)和ASCII码(American Standard Code for Information Interchange)之间的转换。这两种编码方式在计算机通信、数据传输和存储等...

    vb.net浮点转16进制

    Dim hexString As String = BitConverter.ToString(byteArray).Replace("-", "") ' 将字节数组转换为16进制字符串 Console.WriteLine(hexString) ``` 同样,如果我们需要处理双精度浮点数,只需要将`Single`替换为`...

    Qt 读取16进制的data文件

    接着,我们逐字节读取文件,并将每个字节转换为16进制字符串,添加到`QByteArray`中。最后,我们关闭文件,并输出16进制字符串。 对于初学者来说,理解二进制数据和16进制表示非常重要。16进制是一种逢16进1的计数...

    CRC16的demo程序-QString类型16进制转换为ByteArray-每两位数据增加空格

    可以获取textEdit上的QString类型16进制数转换为ByteArray; 输入数据错误判断及提示; CRC16校验计算公式; 计算ByteArray的crc16结果; 结果转换为QString,并且每两位数据都需要增加空格展示; 输入清除功能; ...

    汉字转16进制和16进制转汉字

    2. 转换过程:将汉字转换为16进制,我们需要先获取汉字对应的字节序列,然后将每个字节转换为16进制字符串。例如,对于GBK编码,我们可以使用Python的`encode('GBK')`方法得到字节,再用`hex()`函数将其转换为16进制...

    FLASH AS3 SOCKET收发16进制示例

    `HEXtoString as3.as`这个文件可能包含一个函数,用于将16进制字符串转换为ByteArray,以便于Socket通信。 在AS3中,使用Socket类的步骤如下: 1. **创建Socket实例**:首先,你需要创建一个Socket对象,例如`var ...

    通讯.zipRS232通讯 字符串输入和16进制输入

    在RS232通讯中,16进制输入通常意味着用户输入的是16进制数字,这些数字需要转换为相应的二进制值,然后组成字节流进行传输。例如,16进制数字'0A'对应二进制的'1010',在RS232中,可能表示ASCII字符的换行符('\n'...

    C#_string_byte数组转换解析

    这个函数会去除非16进制字符,并将剩余的16进制字符串转换为字节数组。 在进行这些转换时,需要注意以下几点: - 字符编码的选择至关重要,因为不同的编码方式会导致不同的字节序列。例如,UTF-8和Unicode编码对非...

    整形数组与字符数组相互转换

    7. 示例代码:在给定的"ByteArray"文件中,可能存在实现这些转换的源代码。通过分析和理解代码,可以学习到实际应用中的转换方法和技巧。 总之,整形数组与字符数组的转换是数据处理中的基础操作,涉及到数据类型...

    例18-6 十六进制数据的发送_十六进制数据的发送_

    十六进制(Hexadecimal)是一种数值表示方式,它使用16个符号(0-9及A-F)来代表从0到255的数值,这对于程序员来说非常方便,因为每个字符可以表示一个字节的数据。本教程将深入讲解如何编程实现十六进制数据的发送...

    py代码-CTF中的关于16进制代码

    例如,`hex()`函数可以将十进制整数转换为小写的十六进制字符串,而`int()`函数则可以将十六进制字符串转换回整数。例如: ```python num = 255 hex_str = hex(num) # "0xff" hex_num = int(hex_str, 16) # 255 ```...

    JAVA_MAC地址校验和转换

    - **二进制与十六进制转换**:可以使用`Integer.parseInt()`或`Long.parseLong()`方法配合`format()`函数将16进制字符串转换为二进制,反之亦然。 - **字符串与字节数组转换**:`getBytes("UTF-8")`可以将字符串...

    C# string byte数组转换解析.docx

    这段代码中,`ToString("X2")`将每个字节转换为其16进制表示,前导零被自动添加,如果需要的话。 相反,如果你有一个16进制格式的`string`,如"ae00cf",并想将其转换回`byte[]`,可以使用以下方法: ```csharp ...

    Activiti工作流数据库表结构

    1. **ACT_GE_BYTEARRAY**:这个表存储流程定义和流程资源,如流程图、XML流程定义文件等。每个流程定义或资源都有一个唯一的ID,用于在运行时引用。 2. **ACT_GE_PROPERTY**:系统相关属性表,包含系统级别的配置...

    将Bitmap转成byte[]小例子

    在Android开发中,Bitmap是用于表示图像数据的一种对象,它在内存中占用较大空间,因此在处理图片时,我们有时需要将其转换为byte数组(byte[]),以便于存储、传输或者在网络流中使用。这个过程涉及到图像数据的...

    完整详细版Python全套教学课件 第02节 内置数据结构04 bytes和bytearray.pptx

    此外,`bytes`还有类方法`fromhex()`,用于将16进制字符串转换为`bytes`对象。 `bytearray`则是一个可变的字节数组,它可以像列表一样进行增删改操作。它的初始化方法与`bytes`类似,只是在最后多了一个可选的`...

    C# string byte数组转换解析.pdf

    接下来,我们关注一个特殊的需求,即把`byte[]`转换为16进制表示的`string`。例如,`byte[]` `{0xAE, 0x00, 0xCF}` 转换为 `"AE00CF"`。以下是一个简单的实现: ```csharp public static string ToHexString(byte[]...

    《C#中的类型转换》

    对于十六进制数,可以使用`Convert.ToInt32(hexString, 16)`将十六进制字符串转换为整数。 最后,日期型数据的转换通常涉及到`DateTime`类型。可以使用`DateTime.ToString()`将日期对象格式化为字符串,或使用`...

    将字节数组转换为各种基本类型

    - `ToInt16`, `ToUInt16`: 将字节数组中的两个字节转换为有符号和无符号的16位整数。 - `ToInt32`, `ToUInt32`: 将字节数组中的四个字节转换为有符号和无符号的32位整数。 - `ToInt64`, `ToUInt64`: 将字节数组中...

    关于C#.NET的字符转换

    `BitConverter.ToString(byteArray)`可以输出字节数组的十六进制表示,如果需要以十六进制字符串形式表示数值,可以使用`Convert.ToString(number, 16)`。 9. 日期型数据转换: 日期型数据`DateTime`可以使用`...

Global site tag (gtag.js) - Google Analytics