python 二进制、十六进制、ascii码互转

1.bin(数字)十进制-》二进制,有0b,用replace('0b','')

 

 
<span style="font-size:18px;">eg:>>> print bin(97).replace('0b','')
     1100001</span>


2.int(浮点型数字) float-》int
 
<span style="font-size:18px;">eg:>>> print int(12.3)
     12</span>


3.chr(数字a)a在0~255之间。int-》ascii码(即只有8位)
 
<span style="font-size:18px;">eg:>>> print chr(97)
     a</span>


4.ard(字符a)ascii码-》int。3的反向
 
<span style="font-size:18px;">eg:>>> print ord('a')
     97</span>


5.hex(数字a)十进制-》十六进制
 
<span style="font-size:18px;"> eg:>>> print hex(10)
     0xa</span>


6.binascii.b2a_hex(字符串)字符串-》十六进制
7.binascii.a2b_hex(十六进制数)十六进制-》字符串。6的反向
 
<span style="font-size:18px;">eg:>>> import binascii as ba
     >>> print ba.b2a_hex('nihao')
     6e6968616f
     >>> import binascii as ba
     >>> b =  ba.b2a_hex('nihao')
     >>> a = ba.a2b_hex(b)
     >>> print b
     6e6968616f
     >>> print a
     nihao

</span>

6,7我不常用,其他常用。

Python中,十六进制数和ASCII码可以互相转换。ASCII码是一种字符编码标准,用于表示文本中的每个字符,如字母、数字和标点符号,通常用7位二进制来表示,对应于0到127的十进制范围。而十六进制则是一种逢16进1的进位计数法,常用于计算机数据存储。 要将十六进制转成ASCII码,你可以通过将十六进制字符串转换为整数,然后使用`chr()`函数将其转换为对应的字符。反之,如果你有一个ASCII码值,可以用`hex()`函数获取其十六进制表示。 在GUI编程中,比如使用Tkinter库,你可以创建简单的界面来接收用户输入的十六进制ASCII码,然后利用上述方法进行转换。例如: ```python import tkinter as tk from tkinter import messagebox def hex_to_ascii(hex_val): return chr(int(hex_val, 16)) def ascii_to_hex(ascii_val): return hex(ord(ascii_val)) root = tk.Tk() input_frame = tk.Frame(root) output_frame = tk.Frame(root) # 设置输入框和按钮 hex_input = tk.Entry(input_frame) hex_input.pack() convert_button = tk.Button(input_frame, text="Convert", command=lambda: handle_conversion()) convert_button.pack() output_label = tk.Label(output_frame, text="") output_label.pack() input_frame.pack(pady=10) output_frame.pack() def handle_conversion(): hex_value = hex_input.get() try: ascii_result = hex_to_ascii(hex_value) output_label.config(text=f"ASCII: {ascii_result}") hex_result = ascii_to_hex(ascii_result) messagebox.showinfo("Result", f"Hex: {hex_result}") except ValueError: messagebox.showerror("Error", "Invalid input") root.mainloop() ``` 在这个例子中,用户可以在`hex_input`中输入十六进制值,点击“Convert”按钮会触发`handle_conversion`函数,进行转换并显示结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值