把字符串转换成16进制
时间: 2023-11-26 16:04:38 浏览: 60
可以使用Python中的内置函数`hex()`来将字符串转换为16进制。
例如,如果要将字符串“Hello World”转换为16进制,可以使用以下代码:
```python
string = "Hello World"
hex_string = ''.join(hex(ord(c))[2:] for c in string)
print(hex_string)
```
输出结果为:
```
48656c6c6f20576f726c64
```
其中,`ord()`函数将每个字符转换为ASCII码,`hex()`函数将ASCII码转换为16进制,`[2:]`是为了去掉16进制前面的`0x`。最后使用`join()`函数将所有的16进制字符串连接起来。
相关问题
把字符串转换成16进制的函数
可以使用以下函数将字符串转换为16进制:
```python
def str_to_hex(s):
return ''.join([hex(ord(c))[2:].zfill(2) for c in s])
```
其中,`ord(c)`函数返回字符`c`的ASCII码值,`hex()`函数将ASCII码值转换为16进制字符串,`[2:]`是为了去掉16进制字符串中的前缀`0x`,`zfill(2)`是为了保证输出的16进制字符串长度为2。
例如,将字符串`Hello, world!`转换为16进制字符串可以这样调用函数:
```python
s = "Hello, world!"
hex_str = str_to_hex(s)
print(hex_str)
```
输出结果为:
```
48656c6c6f2c20776f726c6421
```
C语言中把字符串转换成16进制
在C语言中,可以使用循环遍历字符串的每个字符,然后将其转换为16进制表示的字符串。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char string[] = "Hello World";
int len = strlen(string);
char hex_string[len*2+1]; // 16进制字符串最大长度是原字符串长度的两倍
int i;
for (i = 0; i < len; i++) {
sprintf(hex_string+i*2, "%02X", string[i]); // %02X表示输出2位16进制数,不足时前面补0
}
hex_string[len*2] = '\0'; // 16进制字符串最后要加上'\0'表示字符串结束
printf("%s\n", hex_string);
return 0;
}
```
输出结果为:
```
48656C6C6F20576F726C64
```
其中,`sprintf()`函数将一个字符转换为16进制字符串,`%02X`表示输出2位16进制数,不足时前面补0。最后将每个字符的16进制字符串连接起来即可。
阅读全文