01 字符串变成16进制 python
时间: 2023-06-20 07:10:08 浏览: 30
可以使用Python内置函数hex()将字符串转换为16进制数。例如:
```python
s = "Hello, world!"
hex_str = ''.join([hex(ord(c))[2:] for c in s])
print(hex_str)
```
输出结果为:
```
48656c6c6f2c20776f726c6421
```
其中,ord()函数将字符转换为ASCII码,hex()函数将ASCII码转换为16进制数,并去掉前缀'0x'。最后使用join()函数将所有16进制数拼接成字符串。
相关问题
python判断字符串是不是16进制字符串
要判断一个字符串是否为16进制字符串,可以使用Python的内置函数int()来进行转换,并捕获ValueError异常。如果转换成功,则说明字符串是16进制字符串;如果转换失败,则说明字符串不是16进制字符串。
下面是一个示例代码来判断字符串是否为16进制字符串[^1]:
```python
def is_hex_string(s):
try:
int(s, 16)
return True
except ValueError:
return False
# 测试
print(is_hex_string('0x123')) # 输出:True
print(is_hex_string('0XFF')) # 输出:True
print(is_hex_string('123')) # 输出:False
print(is_hex_string('0xzzz')) # 输出:False
```
字符串转16进制数组 python
可以使用 Python 的 `binascii` 模块中的 `hexlify()` 函数将字符串转换为十六进制,然后再将十六进制字符串转换为十六进制数组。
示例代码:
```python
import binascii
# 将字符串转换为十六进制字符串
hex_string = binascii.hexlify("Hello, world!".encode()).decode()
# 将十六进制字符串转换为十六进制数组
hex_array = bytearray.fromhex(hex_string)
print(hex_array)
```
输出结果:
```
bytearray(b'48656c6c6f2c20776f726c6421')
```
其中,`hexlify()` 函数将字符串编码为字节对象,然后将字节对象转换为十六进制表示的字符串。`decode()` 方法将字节对象解码为字符串。
最后,`bytearray.fromhex()` 方法将十六进制字符串转换为十六进制数组。