python 16进制转文字
时间: 2023-08-07 13:05:56 浏览: 157
可以使用Python内置的`bytes.fromhex`和`decode`方法将16进制转换为文字,示例如下:
```python
hex_str = '68656c6c6f20776f726c64' # 16进制字符串
byte_str = bytes.fromhex(hex_str) # 转换为字节串
text = byte_str.decode('utf-8') # 解码为文字
print(text) # 输出:hello world
```
需要注意的是,解码时需要指定正确的编码方式,否则会出现乱码。
相关问题
将文字转换成16进制的python代码
在 Python 中,可以使用内置的 `ord()` 函数将字符转换成对应的 ASCII 码值,然后使用 `hex()` 函数将 ASCII 码值转换成对应的 16 进制字符串。以下是将字符串 "Hello, world!" 转换成 16 进制代码的 Python 代码示例:
```python
text = "Hello, world!"
hex_text = " ".join(hex(ord(c))[2:].zfill(2) for c in text)
print(hex_text)
```
运行上述代码,将输出以下结果:
```
48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21
```
其中,`hex()` 函数将 ASCII 码值转换成 16 进制字符串,`[2:]` 操作将字符串的前缀 "0x" 去掉,`.zfill(2)` 操作将字符串填充到两位,然后使用空格连接每个字符的 16 进制字符串,最后输出结果。
将16进制的文字转义成字符串
可以使用Python语言中的`bytes.fromhex()`方法将16进制字符串转换为字节流,再通过`.decode()`方法将字节流转换为字符串。示例代码如下:
```python
hex_str = "48 65 6c 6c 6f 20 77 6f 72 6c 64 21" # 示例16进制字符串
byte_stream = bytes.fromhex(hex_str.replace(' ', '')) # 去除空格并转换为字节流
str_content = byte_stream.decode('utf-8') # 将字节流解码为字符串
print(str_content) # 输出:Hello world!
```
其中,`replace()`方法是为了去除16进制字符串中的空格。`decode()`方法中的参数`'utf-8'`指定了解码方式,也可以根据实际情况选择其他编码方式。
阅读全文