10进制、16进制(十进制、十六进制)与ASCII码流互转

16进制在python里实际是以16进制字符串保存的,在处理时要注意去掉‘0x’

下面给出互转的两个方法,10进制一个方法,16进制一个方法,实际互通

1. ASCII码转10进制

#ascii码转10进制

def to_hex(s):
    e = 0
    for i in s:
        d = ord(i)  # 单个字符转换成ASCii码
        e = e * 256 + d  # 将单个字符转换成的ASCii码相连
    return e

#bbb = '12345'
#ccc = to_hex(bbb)
#输出为 ‭211295614005‬

 

2. ASCII码转16进制

def to_hex(s):
    list_h = []
    for c in s:
        list_h.append(str(hex(ord(c)))[2:])  # 取hex转换16进制的后两位
    return ''.join(list_h)


#bbb = '12345'
#ccc = to_hex(bbb)
#输出为 ‘3132333435’

 

3. 10/16进制转ASCII码的两种方法

#此种方法需import binascii
def to_ascii(h):
    list_int = list(binascii.a2b_hex(hex(int(h))[2:]))
    list_s = []
    for i in list_int:
        list_s.append(chr(i))
    return ''.join(list_s)





def to_ascii1(h):
    list_s = []
    for i in range(2, len(h), 2):
        list_s.append(chr(int(h[i:i + 2], 16)))
    return ''.join(list_s)


#输入‭211295614005‬,即(0x‭3132333435‬),输出为‘12345’

 

 

 

 

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 想要将十六进制ASCII码换为十进制的工具,您可以使用以下两种方法中的任何一种。 方法1:使用计算器 大多数计算器都具有十六进制十进制的功能。按照以下步骤进行操作: 1. 打开计算器,确保切换到十六进制模式。 2. 输入十六进制ASCII码。 3. 单击等号(=)或相应的换按钮。 4. 计算器将显示相应的十进制结果。 方法2:使用编程语言开发一个换程序 您可以使用任何编程语言(例如Python、Java、C++等)来编写一个简单的程序来执行这个换。以下是一个使用Python编写的示例程序: ```python hex_ascii = input("请输入十六进制ASCII码: ") # 输入十六进制ASCII码 try: decimal = int(hex_ascii, 16) # 使用int函数将十六进制ASCII码换为十进制 print("换结果为: ", decimal) except ValueError: print("输入无效,请确保输入的是正确的十六进制ASCII码。") ``` 您可以运行此程序,并将要换的十六进制ASCII码输入到提示符中。程序将显示相应的十进制结果。 使用上述方法之一,您可以轻松地将十六进制ASCII码换为十进制。 ### 回答2: 要将十六进制ASCII换为十进制,我们可以使用十六进制十进制换公式。首先,我们需要知道 ASCII 码中各个字符对应的十进制值。 ASCII 码中的数字 '0' 到 '9' 对应的十进制值分别是 48 到 57。字母 'A' 到 'F' 对应的十进制值分别是 65 到 70。大写字母 'a' 到 'f' 对应的十进制值分别是 97 到 102。将这些对应关系记住会很有用。 现在,假设我们要将十六进制ASCII 码 "41" 换为十进制。首先,将数字 '4' 对应的十进制值 52 乘以 16,再加上数字 '1' 对应的十进制值 49。得到的结果即为十六进制 "41" 对应的十进制值 81。 这个过程可以通过编程语言来实现。例如,在 Python 中,可以使用 int() 函数将一个字符串表示的十六进制换为十进制数。下面是一个示例代码: ```python hex_ascii = "41" decimal_ascii = int(hex_ascii, 16) print(decimal_ascii) ``` 这段代码将输出结果为:81。这样,你就可以使用这个简单的代码片段来将任意十六进制ASCII换为十进制数了。当然,在编程语言中可能会有更多的库函数和工具可以提供更便捷的换方法。但是这个简单的示例能够满足常见的换需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值