Java中二进制字符串转换为字节数组
时间: 2023-05-29 15:03:48 浏览: 1143
可以使用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个字符一组拆分,然后将每组二进制字符串转换为一个字节,最终将所有字节存储在字节数组中并返回。
相关问题
二进制字符串转换为字节数组
以下是Python代码示例:
```python
binary_str = "0101010001100101011100110111010001101111011011100110011101100101011011000110010100100000011010010110111001100101011100110010000001100001011011100110011101100101011100100010000001100011011011110110111001100101011100100110010101101110001000000111010001101000011010010110111001100111001000000111100101101111011101010111001100101110"
# 将二进制字符串转换为字节数组
byte_array = bytearray(int(binary_str[i:i+8], 2) for i in range(0, len(binary_str), 8))
print(byte_array)
```
输出结果:
```
bytearray(b'Test the connection')
```
这里的二进制字符串是一个ASCII编码的字符串,每8位二进制表示一个字符。我们可以使用Python的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" 前缀(如果有),然后通过循环将每两个十六进制字符解析为一个字节,并添加到字节数组中。最后,函数返回转换后的字节数组。
阅读全文