字符串转16进制字节数组
时间: 2023-09-26 15:07:03 浏览: 66
你可以使用Python的内置函数`bytes.fromhex()`将一个十六进制字符串转换为字节数组。以下是一个示例代码:
```python
hex_string = "48656c6c6f20576f726c64"
byte_array = bytes.fromhex(hex_string)
print(byte_array)
```
输出结果将是:
```
b'Hello World'
```
在这个例子中,我们将十六进制字符串"48656c6c6f20576f726c64"转换为字节数组,并打印出结果"Hello World"。
相关问题
字符串转16进制byte数组
以下是两种字符串转16进制字节数组的方法:
1. Java方法:
```java
public byte[] hexStrToBytes(String hexStr){
int len = hexStr.length()/2;
byte[] bytes = new byte[len];
char[] chars = hexStr.toCharArray();
for(int i=0;i<len;i++){
bytes[i] = (toByte(chars[i])<<4) | toByte(chars[i*2]);
}
return bytes;
}
public byte toByte(char c){
byte b = "0123456789ABCDEF".indexOf(c);
return b;
}
```
2. C#方法:
```csharp
private byte[] StringToHexByteArray(string message, Encoding encode) {
byte[] bytes = encode.GetBytes(message);
byte[] result = new byte[bytes.Length];
for (int i = 0; i < bytes.Length; i++) {
result[i] = Convert.ToByte(Convert.ToString(bytes[i], 16));
}
return result;
}
```
16进制字节数组转字符串数组
可以使用以下代码将一个16进制字节数组转换为字符串数组:
```java
public static String[] hexToStringArray(byte[] bytes) {
String[] result = new String[bytes.length / 2];
for (int i = 0; i < bytes.length; i += 2) {
result[i / 2] = new String(new char[]{(char) ((bytes[i] << 8) + (bytes[i + 1] & 0xff))});
}
return result;
}
```
这个方法首先创建一个字符串数组,其大小为输入字节数组的一半(因为每个字节对应一个16进制数,而每个16进制数对应一个字符)。然后,它循环遍历输入字节数组,每次处理两个连续的字节。对于每对字节,它将它们组合成一个char型的值,并使用这个值创建一个新的String对象。最后,它将所有的String对象存储在结果数组中并返回。