[转] (源地址忘了-,-!)
// 整数到字节数组转换
public static byte[] int2bytes(int n) {
byte[] ab = new byte[4];
ab[0] = (byte) (0xff & n);
ab[1] = (byte) ((0xff00 & n) >> 8);
ab[2] = (byte) ((0xff0000 & n) >> 16);
ab[3] = (byte) ((0xff000000 & n) >> 24);
return ab;
}
// 字节数组到整数的转换
public static int bytes2int(byte b[]) {
int s = 0;
s = ((((b[0] & 0xff) << 8 | (b[1] & 0xff)) << 8) | (b[2] & 0xff)) << 8
| (b[3] & 0xff);
return s;
}
// 字节转换到字符
public static char byte2char(byte b) {
return (char) b;
}
private final static byte[] hex = "0123456789ABCDEF".getBytes();
private static int parse(char c) {
if (c >= 'a')
return (c - 'a' + 10) & 0x0f;
if (c >= 'A')
return (c - 'A' + 10) & 0x0f;
return (c - '0') & 0x0f;
}
// 从字节数组到十六进制字符串转换
public static String Bytes2HexString(byte[] b) {
byte[] buff = new byte[2 * b.length];
for (int i = 0; i < b.length; i++) {
buff[2 * i] = hex[(b[i] >> 4) & 0x0f];
buff[2 * i + 1] = hex[b[i] & 0x0f];
}
return new String(buff);
}
// 从十六进制字符串到字节数组转换
public static byte[] HexString2Bytes(String hexstr) {
byte[] b = new byte[hexstr.length() / 2];
int j = 0;
for (int i = 0; i < b.length; i++) {
char c0 = hexstr.charAt(j++);
char c1 = hexstr.charAt(j++);
b[i] = (byte) ((parse(c0) << 4) | parse(c1));
}
return b;
}
分享到:
相关推荐
总结,Android中将字节数组转换为十六进制字符串的方法多种多样,可以根据项目需求和性能要求选择合适的方式。在开发过程中,了解并熟练掌握这些转换技巧,可以帮助我们更好地处理二进制数据,提升代码的可读性和可...
为了将一个字符串转换为十六进制表示,可以先将其编码为字节数组,再将每个字节转换为十六进制形式: ```csharp public static string StringToHexString(string str, Encoding encoding) { byte[] bytes = ...
在描述中提到的博文链接虽然无法直接访问,但根据标题,我们可以推测博主可能分享了一种将十六进制字符串转换为字节数组的方法。通常,这种转换过程包括以下步骤: 1. **预处理**:检查输入的十六进制字符串是否...
1. **字符串转十六进制**:在易语言中,可以通过“字符串到整数”函数配合“进制转换”参数将字符串转换为十进制,再用“十进制到十六进制”函数将十进制转换为十六进制。对于每个字符,我们可以单独进行转换,然后...
例如,你可以将二进制文件内容读取到一个字符数组,然后使用上述方法将其转换为十六进制字符串进行显示或存储。 为了更好地理解这些概念,我们可以看一个简单的例子: ```c #include #include #include char* ...
labview 读取的一维数组(整数)转换成16进制的字符串,方便大家进行数据处理。有问题可以留言咨询,互相学习
在易语言中,这个过程涉及到将长整数(Long Integer)转换为十六进制字符串和字节集(Byte Array)。这两个概念在不同的场景下都有其独特的用途。 首先,让我们了解一下什么是长整数。在易语言中,长整数是一种数据...
`substring`方法用于从原始字符串中提取出每两个字符(一个字节的十六进制表示),并使用`Integer.parseInt`将其转换为十进制整数,进而得到原始字节。 在处理编码问题时,了解不同编码格式的特点和差异至关重要。...
如果需要将字符串形式的十六进制数转换为字节,可能需要用到更复杂的函数,如`sscanf()`或自定义的解析函数: ```c char input[] = "4A"; char byteStr[3] = {input[0], input[1], '\0'}; int hexValue = strtol...
在IT行业中,字符串转换进制是一项基础且重要的任务,尤其在编程领域。PowerBuilder作为一款老牌的客户端/服务器应用程序开发工具,提供了丰富的功能,包括字符串处理和数据类型转换。本篇将详细介绍如何在Power...
- 使用`Float.intBitsToFloat()`方法将字节数组转换为整数,然后将这个整数转换为浮点数。这是因为浮点数在内存中是以整数的形式存储的,通过特定的位运算可以完成转换。 3. **代码示例**:以下是一个简单的Java...
在Delphi中,16进制字符串转换为整数或字节数组,以及将整数或字节数组转换为16进制字符串,有多种方法。我们可以使用系统提供的函数,如`Hex`和`IntToHex`来进行转换。 1. **16进制字符串转整数**: - 使用`...
如果你需要处理的是二进制数据,例如字节数组,并且想要将其转换为十六进制字符串,你可以遍历数组并将每个字节转换为两位的十六进制字符串,然后连接起来。同样,要将这样的字符串解析回字节数组,你需要对每个两位...
- `BigInteger.toString(int radix)`: 可以将任意整数转换为指定进制的字符串,包括十六进制。例如,`new BigInteger("10", 10).toString(16)`返回"10"。 - `String.format("%x", number)`: 使用`String.format`...
在使用Pyserial与STM32进行通讯时,遇到了需要将十六进制整数以Ascii码编码的字符串进行发送并且将接收到的Ascii码编码的字符串转换成十六进制整型的问题。查阅网上的资料后,均没有符合要求的,遂结合各家之长,用...
2. **字符串到整型转换**:将十六进制字符串转换为十进制整数。可以使用`int.Parse`或`Convert.ToInt32`方法,但需先添加前缀“0x”以指示基数是16。 3. **整型到浮点数转换**:这一步比较复杂,因为浮点数的二进制...
易语言中,可以使用`分割字符串`函数将十六进制字符串按字符或每两个字符切分成数组,再用`整数到字节`等函数将这些十六进制数值转换为字节数据。 4. **二进制数据与字符串之间的转换**:有时我们需要将二进制数据...
在易语言中,可以使用`十六进制字符串`函数将字节转换成16进制字符串。 4. **拼接16进制字符串**:将转换后的16进制字符串逐个连接起来,形成完整的16进制文本。 5. **输出或存储**:最后,你可以选择将16进制文本...
"十到十六"和"到十六进制文本"这部分标签表明,转换过程中可能还涉及了将整数或字节数组转换成十六进制字符串的环节。在易语言中,可以使用“整数到十六进制文字”命令将整数转换为十六进制字符串,而字节数组的十六...
你可以使用`QByteArray::fromHex()`或`QString::toLatin1()`方法将16进制字符串转换为字节序列,再通过`QByteArray::toInt()`将其转换为整数。 3. **转换为字符串**:将得到的十进制数值转换为16进制字符串。可以...