找回密码
 会员注册
查看: 23|回复: 0

基于Python设计的CRC-16校验码计算器

[复制链接]

5

主题

0

回帖

16

积分

新手上路

积分
16
发表于 2024-9-11 14:21:01 | 显示全部楼层 |阅读模式
基于Python设计的CRC-16校验码计算器,CRC16离线计算器。缘由:某日在做测试时,发现某位网友的CRC计算器无法正常使用了,哇,怎么回事?经过排查,感情他那工具是需要调用网络接口的,实际是个网页在线CRC计算器。不巧的是本人电脑刚搬迁过来,网络未通,网线还没有,遂,自己动手搓一个。于是诞生了这个。本人不保证该作品没有bug,也没有经过严谨的测试验证,在任何情况下,无论因何种原因,本人均不承担因使用本程序或者代码所造成的任何直接、间接、特别、附带或间接损失的赔偿责任。一、使用说明双击“CRC16_Calculator.exe”,运行程序,会弹出程序窗口。按照你的需求填写数据,点击计算即可显示结果。程序界面如下:仓库地址:Gitee下载地址:发布URL:https://gitee.com/zerone_space/crc16_calculator下载:https://gitee.com/zerone_space/crc16_calculator/releases/tag/v1.0.1-beta二、源码使用[onlyforprogrammer]1、安装pythonPython安装2、测试、运行gitclonehttps://gitee.com/zerone_space/crc16_calculator1cdcrc16_calculatorpythonCRC16_Calculator.py124、打包4.1、安装虚拟环境pipinstallpipenv1Tips:首次使用需要pipenv安装4.2、进入虚拟环境pipenvshell14.3、在虚拟环境中安装pyinstaller打包工具pipinstallpyinstaller-ihttps://pypi.doubanio.com/simple--trusted-hostpypi.doubanio.com1Tips:每次重新打包都需要安装4.4、在虚拟环境中使用pyinstaller打包成可执行文件(.exe)pyinstaller-F-w-ilogo.ico./src/CRC16_Calculator.py14.5、完成打包,退出虚拟环境,再删除虚拟环境exitpipenv--rm12Tips:不删除虚拟环境也是可以的,这样下次重新打包,则不需要重新安装pyinstaller附录fromtkinterimport*fromtkinterimportmessagebox#font_str="TimesNewRoman"font_str="阿里巴巴普惠体"#font_str="SourceHanSansCN"#按位(bit)反转,defreverse(din,len_din):din_bin=bin(din)din_bin_str=str(din_bin)dout_bin_str=''foriinrange(len_din):if(i>1crc16=crc16^polyelse:crc16=crc16>>1if(refout==0):result=hex(reverse(crc16,16))else:result=hex(crc16)ifhighfirst==0:result=hex(exchange(result))binstr='{:016b}'.format(int(result,16))self.resbin.set(str(binstr))result=result[2:]self.result.set('0x'+str(result).upper())print('Hex_Res:'+'0x'+result.upper())print('Bin_Res:'+binstr)deftextfmt(self):plaintext=self.entry01.get()print(plaintext)importreplaintext=re.sub(r'[^0-9a-fA-F]','',plaintext)result=''.join(plaintext[i:i+2]foriinrange(0,len(plaintext),2))self.hexstr.set(result)if__name__=='__main__':root=Tk()sw=root.winfo_screenwidth()sh=root.winfo_screenheight()w=600h=220x=(sw-w)/2y=(sh-h)/2root.geometry("%dx%d+%d+%d"%(w,h,x,y))root.title('CRC-16离线计算工具')root.resizable(0,0)#root.iconbitmap('../logo.ico')Application(master=root)root.mainloop()123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-28 08:29 , Processed in 0.426013 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表