#-*- encoding:UTF-8 -*-
'''
用python写的查询ascii的小工具,按下键盘上的按键,可以将对应的八进制、十六进制、十进制用颜色标出来。
'''
import wx
import wx.grid
data = [ "nul", "soh", "stx", "etx", "eot", "enq", "ack", "bel", "bs", "ht", "nl", "vt","ff", "er", "so", "si", "dle", "dc1", "dc2", "dc3",
"dc4", "nak", "syn", "etb", "can", "em", "sub", "esc", "fs", "gs",
"re", "us", "sp",
"!", "\"", "\#", "$", "%", "&", "`", "(", ")", "*",
"+", ",", "-", ".", "/",
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
":", ";", "<", "=", ">", "?", "@",
"A", "B", "C", "D", "E", "F", "G", "H", "I", "J",
"K", "L", "M", "N", "O", "P", "Q", "R", "S", "T",
"U", "V", "W", "X", "Y", "Z",
"[", "\\", "]", "^", "_", "'",
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j",
"k", "l", "m", "n", "o", "p", "q", "r", "s", "t",
"u", "v", "w", "x", "y", "z",
"{", "|", "}", "~", "del"]
data2 = []
for i in xrange(32):
data2.append([oct(i), hex(i), i, data[i],
oct(i + 32), hex(i + 32), i + 32, data[i + 32],
oct(i + 64), hex(i + 64), i + 64, data[i + 64],
oct(i + 96), hex(i + 96), i + 96, data[i + 96]])
colLabels = ["八进制", "十六进制", "十进制", "字符"] * 4
#这是wxpython in action上的例子,用来创建表格
class GenericTable(wx.grid.PyGridTableBase):
def __init__(self, data, rowLabels=None, colLabels=None):
wx.grid.PyGridTableBase.__init__(self)
self.data = data
self.rowLabels = rowLabels
self.colLabels = colLabels
def GetNumberRows(self):
print 'GetNumberRows', len(self.data)
return len(self.data)
def GetNumberCols(self):
return len(self.colLabels)
def GetColLabelValue(self, col):
if self.colLabels:
return self.colLabels[col]
def GetRowLabelValue(self, row):
if self.rowLabels:
return self.rowLabels[row]
def IsEmptyCell(self, row, col):
return False
def GetValue(self, row, col):
return self.data[row][col]
def SetValue(self, row, col, value):
pass
class ASCII(wx.Frame):
def __init__(self, parent):
wx.Frame.__init__(self, parent, -1, "ASCII Grid",
size=(803, 725))
self.grid = grid = wx.grid.Grid(self)
tableBase = GenericTable(data2, rowLabels=None, colLabels=colLabels)
grid.SetTable(tableBase)
grid.SetRowLabelSize(0)
grid.AutoSize()
self.old_row = 0
self.old_col = 0
grid.Bind(wx.EVT_CHAR, self.on_keydown,)
#清除按过的按键颜色
def clear_oldkey(self):
print 'clear_oldkey'
for i in xrange(4):
self.grid.SetCellBackgroundColour(self.old_row , self.old_col + i, (255,255,255,255))
self.grid.SetCellTextColour(self.old_row , self.old_col + i, (0,0,0,255))
self.grid.ForceRefresh()
#处理按键按下的事件,将对应的字段用颜色标出来
def on_keydown(self, event):
self.clear_oldkey()
key = event.GetKeyCode()
print 'key=', key
self.row = key % 32
self.col = key /32 * 4
for i in xrange(4):
self.grid.SetCellBackgroundColour(self.row, self.col + i, 'black')
self.grid.SetCellTextColour(self.row, self.col + i, 'green')
self.old_row , self.old_col = self.row, self.col
self.grid.ForceRefresh()
if __name__ == "__main__":
app = wx.PySimpleApp()
frame = ASCII(None)
frame.Show(True)
app.MainLoop()
分享到:
相关推荐
一个简单的python包,可以使用ASCII字符在终端中播放视频
texttable - 用于创建简单ASCII表格的Python模块
可将照片转换为纯字符文本字画,附件为压缩文件。 详细转换效果参考:https://blog.csdn.net/urhero/article/details/121765362
这是一个简单、轻巧且经过优化的图像到 ascii和ascii 到图像的转换器。它现在支持图像和视频。 1.图像到ASCII 这种转换是通过将像素的强度映射到不同形状的字符来实现的。 命令选项 -f | --file是输入图像路径。 ...
一个使用python实现的单色位图及点阵字体取模工具。之所以编写该工具,是因为在把玩墨水屏时发现在Linux操作系统中找不到像Windows系统下类似的取模工具,同时xbm图像格式并不能很好的满足一些奇奇怪怪的取模需求。...
rosshow: 使用Unicode / ASCII艺术可视化终端内的ROS主题
graphscii 在终端中打印ASCII图
介绍Jython的内部机理,Jython是一个用Java编写的Python版本。 Python入门经典目录 第一部分关于计算机的思考 第0章计算机科学研究 第二部分开始编程 第1章入门 第2章控制语句 第3章算法和程序开发 第三部分...
esmre ,正则表达式的加速器。 ▪ colorama 主要用来给文本添加各种颜色,并且非常简单易用。 ▪ Prettytable 主要用于在终端或浏览器端构建格式化的...▪ pyfiglet , Python 写的 figlet 程序,使用字符组成 A。。。。
本工具是将HEX串转为ASCII码字符串,或者将ASCII码字符串转成HEX串,常用于转码和TLV报文拼接
分别用单进程和多进程的模式实现python调用arcgis模块,上传的代码执行的功能包括:单进程使用map映射机制执行、多进程池方式执行、读写arcgis的ascii栅格数据文件、窗口分析提取栅格快的边缘栅格以及调用若干arcgis...
* 使用PyQt5开发UI界面; * HEX和ASCII数据发送; * 数据的接收和显示; * 接收数据的保存;
用 Python 编写的所有模拟和算法的库。包括从太阳系和重力模拟到排序算法可视化器的程序。所有算法和模拟都是由 Fraser Love -me@fraser.love在 Python 中实现的 模拟和生成器 二维重力模拟 太阳系模拟 Perlin 噪声...
这个 Python 代码是一个创意且简单的圣诞节主题项目,它生成一个使用 ASCII 字符构建的圣诞树图像。代码高度可定制,允许用户指定树的高度,从而改变树的大小。这个项目是为编程初学者和爱好者设计的,旨在以编程的...
这是一个简单的命令行工具,它通过 STDIN 接受换行分隔的整数列表(例如 CSV 文件),并将 ASCII 直方图打印到 STDOUT。 用法 打印完整的直方图: python histogram.py < timings.csv 打印直方图的前 100 个 ...
img2ascii###结构说明img2ascii.py 负责转换run.py 封装命令行工具dist内是使用py2exe工具打包的win可执行程序###使用说明在命令行下打开python run.py 或者img2ascii.exe -h 查看帮助使用示例:img2ascii.exe ...
本文实例为大家分享了python图片转字符小工具的具体实现代码,供大家参考,具体内容如下 from PIL import Image #灰度与字符的映射 ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~&...
Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。 Python为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容,被形象地...
基于Python实现一个能够对凯撒密码、维吉尼亚密码、栅栏密码、摩斯密码、Base64编码、Ascii编码、AES、DES、RSA、RC4的加密解密以及密文破解维吉尼亚密钥和明文的CTF Crypto工具
全面披露 ... 出于这个原因,我选择使用此工具跳到python3,并在此过程中学习一些新概念。 StackAttack要求在攻击者系统上和攻击者的路径上安装以下软件:metasploit-framework(检查发行版的repo或访问