Java中二进制字符串转换为字节数组
时间: 2023-05-29 08:03:48 浏览: 1212
可以使用Java内置的Byte.parseByte()方法将二进制字符串转换为字节,然后将字节存储在字节数组中。
以下是一个示例代码:
```
public static byte[] binaryStringToByteArray(String binaryString) {
int length = binaryString.length() / 8;
byte[] byteArray = new byte[length];
for (int i = 0; i < length; i++) {
String byteString = binaryString.substring(i * 8, (i + 1) * 8);
byte b = (byte) Integer.parseInt(byteString, 2);
byteArray[i] = b;
}
return byteArray;
}
```
这个方法将二进制字符串按每8个字符一组拆分,然后将每组二进制字符串转换为一个字节,最终将所有字节存储在字节数组中并返回。
相关问题
在 JavaScript 中将十六进制字符串转换为字节数组形式
在 JavaScript 中将十六进制字符串转换为字节数组形式,可以使用以下方法:
```javascript
function hexStringToByteArray(hexString) {
// 去除字符串开头的 "0x" 前缀
if (hexString.startsWith("0x")) {
hexString = hexString.slice(2);
}
// 创建一个字节数组
var byteArray = [];
// 将每两个十六进制字符转换为一个字节,并添加到字节数组中
for (var i = 0; i < hexString.length; i += 2) {
var byte = parseInt(hexString.substr(i, 2), 16);
byteArray.push(byte);
}
return byteArray;
}
// 示例用法
var hexString = "0x48656c6c6f20576f726c64"; // 十六进制字符串
var byteArray = hexStringToByteArray(hexString); // 转换为字节数组
console.log(byteArray); // 打印结果:[72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]
```
在上述代码中,`hexStringToByteArray` 函数接受一个十六进制字符串作为输入,并将其转换为字节数组形式。函数首先去除字符串开头的 "0x" 前缀(如果有),然后通过循环将每两个十六进制字符解析为一个字节,并添加到字节数组中。最后,函数返回转换后的字节数组。
十六进制字符串转二进制数组 java
十六进制字符串转换成二进制数组在Java中可以通过`Integer`类的`toBinaryString()`方法配合循环来实现。首先将十六进制字符串解析为整数,然后将其转换为二进制字符串,最后将每个字符(即4位二进制)分割并存储到数组中。
以下是一个简单的示例:
```java
public static byte[] hexToBinary(String hexStr) {
int value = Integer.parseInt(hexStr, 16); // 将十六进制字符串转换为十进制整数
String binaryStr = Integer.toBinaryString(value); // 转换为二进制字符串
byte[] binaryArray = new byte[binaryStr.length() / 8]; // 由于每8位组成一个字节
for (int i = 0; i < binaryArray.length; i++) {
binaryArray[i] = (byte) Integer.parseInt(binaryStr.substring(i * 8, i * 8 + 8), 2); // 分割并转换为字节
}
return binaryArray;
}
```
阅读全文
相关推荐














