二进制文件转文本工具
转自:blog.chinaunix.net/uid-13889805-id-5791356.html
import tkinter as tk
from tkinter import ttk
import tkinter.filedialog
import threading
import os#选择文件按钮的处理
def selectFile():resultlabel.configure(text="", wraplength=600)selectfile = tkinter.filedialog.askopenfilename()if selectfile != '':s_entry.delete(0,tk.END)s_entry.insert(0,selectfile)src_file=s_entry.get()if src_file != '':target_file=src_file+".txt"t_entry.delete(0, tk.END)t_entry.insert(0,target_file)convert_button.configure(state="enable")else:t_entry.delete(0, tk.END)convert_button.configure(state="disabled")def bin2hextext(srcfile,targetfile):
#二进制文件srcfile 转换成文本文件 targetfile,16进制显示,带偏移i=1try:fsrc=open(srcfile,mode='rb')ftarget= open(targetfile, mode='w')iBytes = fsrc.read()print("%08x:" % 0, file=ftarget, end='')for s_byte in iBytes:print("%02x" % s_byte,file = ftarget,end='')if i%16 == 0:print("" , file=ftarget)print("%08x:" % i, file=ftarget,end='')#刷新文件缓存 显示进度if i%(128*1024) == 0:status = ('%.2f%%' % ((i/(os.path.getsize(srcfile)) * 100)) )ftarget.flush()resultlabel.configure(text=status)i += 1fsrc.close()ftarget.close()return "Convert file successfully"except (OSError,TypeError) as reason:return "Error"+str(reason)#创建线程进行处理 防止界面卡死
def convert_thread_func(src,target):res = bin2hextext(src, target)resultlabel.configure(text=res, wraplength=600)convert_button.configure(state="enable")#转换按键的处理
def convert_func():convert_button.configure(state="disabled")resultlabel.configure(text="Processing ... ", wraplength=600)sf = s_entry.get()tf = t_entry.get()t=threading.Thread(target=convert_thread_func,args=(sf,tf))t.start()root=tk.Tk()
root.title("bin2text V0.1 by: deep_pro") #第一个版本 2018-10-04
tkinter.Label(root,text="source file:").grid(row=0,column=0)
tkinter.Label(root,text="target file:").grid(row=1,column=0)
tkinter.Label(root,text=" result :").grid(row=2,column=0)
resultlabel=tkinter.Label(root,fg="red",text=" ")
resultlabel.grid(row=2,column=1)
s_entry=tkinter.Entry(width=99)
t_entry=tkinter.Entry(width=99)
s_entry.grid(row=0,column=1)
t_entry.grid(row=1,column=1)ttk.Label(root,text=" ").grid(row=0,column=2)
ttk.Label(root,text=" ").grid(row=1,column=2)
src_button=ttk.Button(root,text="open",width=8,command = selectFile).grid(row=0,column=3)
convert_button=ttk.Button(root,text="convert",width=8,state="disabled",command=convert_func)
convert_button.grid(row=1,column=3)root.mainloop()#打包
#pyinstaller -F test.py --noconsole -i 32.ico
ps:写博客的都用的是chrome么,microsoft edge体验极差!!!
二进制文件转文本工具相关推荐
- linux中使用文本工具截取ip 的几种方法
linux中使用文本工具截取ip 的几种方法 1,使用awk工具 [root@mycentos data]# ifconfig ens33 ens33: flags=4163<UP,BROADC ...
- linux文本工具总结,Linux 文本工具
各种文本工具来查看.分析.统计文本 grep :文本过滤(模式 pattern)工具 grep[OPTIONS] PATTERN FILE --. 查看在/etc/passwd 文件中含有 ...
- android sdk源码 andoid-21 下的TextUtils.java文本工具类 源码赏析
下面这个是android sdk自带的文本工具,比如提供EditText对象的内容是否为空判断,截取字符串啊等等 对外提供的方法都是以静态方法的方式提供 /* Copyright © 2006 The ...
- 在线2-36进制转文本工具
在线2-36进制转文本工具 在线2-36进制转文本工具 将2-36任意进制转换成文本字符串,注意原始进制和分隔符的填写.将2-36任意进制转换成文本字符串,注意原始进制和分隔符的填写. https:/ ...
- 在线二进制转文本工具
在线二进制转文本工具 在线二进制转文本工具 工具可以将空格分隔的二进制字符串转换为普通字符串,工具为实时转换,粘贴后即可完成转换. https://tooltt.com/bin2txt/
- 在线TSV转纯文本工具
在线TSV转纯文本工具 在线TSV转纯文本工具 TSV To text Converter 轻松快速地将 csv 数据转换为 txt 文件. TSV To text Converter 轻松快速地将 ...
- 一键批量替换文本工具
一键批量替换文本工具,很有用的~~ 访问地址:http://www.kuaipan.cn/file/id_27114605281017997.htm
- 实用技巧(二)——文本工具、自由变换
一.文本工具 文本工具在电商领域所需要使用的ps范围内属于非常基础与常见的工具.ps的文本工具可以满足排版需求,拥有基本的字号大小.字体.对齐方式.颜色.样式以及段落间等修改功能.与word功能有异曲 ...
- 文本工具来查看、分析、统计,比较
文章目录 一.文件查看命令 cat 由第一行开始显示文件内 tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写! nl 显示行号 more 一页一页翻动查看文件 在 more 这个程序 ...
最新文章
- 『码蛋』Android 周刊第1期
- extern 定义_Essential Cython - 2.7 - 定义并使用模板函数
- 进程管理—进程描述符(task_struct)
- linux学习之使用fdisk命令进行磁盘分区(八)
- 最简单的YUV422转jpg的例程
- LINUX安装QT的命令
- 顺序栈基本操作代码实现
- Keil MDK5 STM32F401CCU6开发环境配置
- 怎么自己制作返利机器人教程分享
- C#开发微信订阅号、服务号视频教程-翟东平-专题视频课程
- Mac Mounty挂载NTFS硬盘报错
- Idea 去掉 mapper.xml 文件的黄色、淡绿色警告
- 服务器打包文件工具,项目增量发版之全自动打包流程(patch-generator-desk打包软件)...
- 计算机操作系统-文件管理 知识点归纳
- 百万条数据插入mysql_mysql快速插入百万条数据
- 什么是RTOS系统定义分析
- 1,什么是JESD204
- English总结(一)-- 常用语句篇
- 那些年,用过的Linux网络工具
- c语言魔王语言上机报告,魔王语言报告(带有完整程序).doc
热门文章
- 用matlab如何拟合曲线,用MATLAB怎么实现曲线拟合?
- Spring+SpringMVC+Mybatis开发
- c语言sizeof用法计算char,C语言里sizeof(char)是什么意思
- 2011 信义聚会记实
- 计算机中丢失granny2,修复granny2.dll
- 三维地图之cesium轨迹回放(有代码)
- 基于Python的电影数据可视化分析系统 设计报告+答辩PPT+项目源码
- mac删除ssh key_好用的mac终端命令仿真工具
- APP 跳转微信小程序和回调
- SpringBoot整合模板FreeMarker篇