python将字符串中的数转换为对应的16进制数?
时间: 2023-08-07 20:03:13 浏览: 170
可以使用Python内置函数`hex()`将字符串中的数转换为对应的16进制数。具体实现如下:
```python
s = '123'
h = ''.join(hex(ord(c))[2:] for c in s)
print(h) # 输出: 313233
```
以上代码中,`ord(c)`将字符转换为对应的ASCII码,`hex()`将该ASCII码转换为16进制数,最后取得16进制数的第三个字符到最后一个字符(即去掉前缀`0x`),使用`join()`函数将每个字符连接成一个字符串。
相关问题
python 将字符串0086399804255147转ASCII对应的16进制数组
可以使用Python的内置函数`ord()`将字符转换为ASCII码,然后使用`hex()`将ASCII码转换为对应的16进制表示。下面是一个示例代码:
```python
string = "0086399804255147"
ascii_hex_array = [hex(ord(char))[2:] for char in string]
print(ascii_hex_array)
```
输出结果为:
```
['30', '30', '38', '36', '33', '39', '39', '38', '30', '34', '32', '35', '35', '31', '34', '37']
```
这里使用了列表推导式来遍历字符串中的每个字符,将其转换为ASCII码并转换为对应的16进制表示。注意,`hex()`函数返回的结果是带有前缀`0x`的字符串,我们使用切片操作`[2:]`来去除前缀。
python输入一行字符串,去掉非16进制字符,并将它转换成10进制数输出。 输入格式: 输入一行字符串。 输出格式: 输出16进制字符串和转换后的10进制数。
在Python中,你可以通过正则表达式过滤出只包含十六进制字符的子串,然后将其转换为十进制整数。下面是一个简单的示例函数,它实现了这个功能:
```python
import re
def hex_to_decimal(input_string):
# 使用正则表达式匹配并提取16进制数字
hex_digits = re.findall(r'[0-9a-fA-F]+', input_string)
if not hex_digits: # 如果没有找到任何十六进制部分
return "输入字符串不包含有效的16进制字符"
# 将每个十六进制字符串转换为对应的十进制数值
decimal_values = [int(hex_digit, 16) for hex_digit in hex_digits]
# 计算它们的总和作为最终的十进制数
total_decimal = sum(decimal_values)
return f"16进制字符串:{input_string}, 转换后的10进制数:{total_decimal}"
# 测试函数
input_string = input("请输入一行字符串: ")
output = hex_to_decimal(input_string)
print(output)
```
当你运行此程序,它会提示用户输入一行字符串。然后,它会检查输入是否只包含十六进制字符,并计算其十进制值。
阅读全文