字符串转换成16进制
时间: 2023-09-26 07:09:11 浏览: 37
要把一个字符串转换成16进制,可以使用以下 Python 代码:
```python
string = "Hello World"
hex_string = string.encode("utf-8").hex()
print(hex_string)
```
输出结果为:
```
48656c6c6f20576f726c64
```
其中,`encode("utf-8")` 把字符串编码为 utf-8 格式的字节串,`hex()` 把字节串转换成16进制字符串。
相关问题
python字符串转换成16进制
要将一个字符串转换为16进制,你可以使用 Python 中的 `bytes` 函数和 `hex` 函数。首先,使用 `bytes` 函数将字符串转换为字节数组,然后使用 `hex` 函数将字节数组转换为16进制字符串。
下面是一个例子,演示了如何将一个字符串转换为16进制:
```python
# 将字符串转换为16进制
string = "Hello, World!"
hex_string = bytes(string, 'utf-8').hex()
# 输出转换后的16进制字符串
print(hex_string)
```
输出结果如下:
```
48656c6c6f2c20576f726c6421
```
在上面的代码中,我们首先定义了一个字符串 `string`。然后,我们使用 `bytes` 函数将字符串转换为字节数组,并指定编码方式为 UTF-8。最后,我们使用 `hex` 函数将字节数组转换为16进制字符串,并将结果保存到变量 `hex_string` 中。
需要注意的是,`hex` 函数返回的是一个字符串,表示字节数组中每个字节的16进制值。如果你需要将16进制字符串转换为字节数组,可以使用 `bytes.fromhex` 函数,如下所示:
```python
# 将16进制字符串转换为字节数组
hex_string = '48656c6c6f2c20576f726c6421'
byte_array = bytes.fromhex(hex_string)
# 输出转换后的字节数组
print(byte_array)
```
输出结果如下:
```
b'Hello, World!'
```
在上面的代码中,我们使用 `bytes.fromhex` 函数将16进制字符串转换为字节数组,并将结果保存到变量 `byte_array` 中。最后,我们输出了转换后的字节数组,结果与原始字符串相同。
C语言 字符串转换成16进制
在 C 语言中,字符串转换成16进制可以使用 `sprintf` 函数。以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char string[] = "Hello World";
unsigned char hex_string[2 * strlen(string) + 1];
int i;
for (i = 0; i < strlen(string); i++) {
sprintf((char*)(hex_string + 2 * i), "%02x", string[i]);
}
printf("%s\n", hex_string);
return 0;
}
```
其中,`sprintf` 函数把每个字符转换成两个十六进制数字,存储在 `hex_string` 数组中,最后输出。注意,在 C 语言中,字符串以 '\0' 结尾,因此 `hex_string` 数组大小为 `2 * strlen(string) + 1`。