我想把一个576位的二进制数转换成hex,所以我编写了下面的python脚本。虽然写作很有趣,但我相信它是巨大的,丑陋的,而且很可能是不必要的复杂。我想知道是否有新的更有效的方法来使用一些内置的python。我使用任何我能找到的方法的问题是保留前导零,因为这是绝对关键的。下面是我用来测试的输入和输出以及我编写的代码。在

输入:000011110111101011000101

输出:

^{pr2}$

代码file = open("binforhex.txt",'r')

stream = file.read()

num = []

byte = []

hexOut = []

n = 0

print stream

for x in stream:

num.append(x)

while n < len(num):

byte.append(int(num[n]))

if n > 1:

if (n + 1) % 4 == 0:

if cmp([0, 0, 0, 0],byte) == 0 :

hexOut.append('0')

elif cmp([0, 0, 0, 1],byte) == 0 :

hexOut.append('1')

elif cmp([0, 0, 1, 0],byte) == 0 :

hexOut.append('2')

elif cmp([0, 0, 1, 1],byte) == 0 :

hexOut.append('3')

elif cmp([0, 1, 0, 0],byte) == 0:

hexOut.append('4')

elif cmp([0, 1, 0, 1],byte) == 0:

hexOut.append('5')

elif cmp([0, 1, 1, 0],byte) == 0:

hexOut.append('6')

elif cmp([0, 1, 1, 1],byte) == 0:

hexOut.append('7')

elif cmp([1, 0, 0, 0],byte) == 0:

hexOut.append('8')

elif cmp([1, 0, 0, 1],byte) == 0:

hexOut.append('9')

elif cmp([1, 0, 1, 0],byte) == 0:

hexOut.append('a')

elif cmp([1, 0, 1, 1],byte) == 0:

hexOut.append('b')

elif cmp([1, 1, 0, 0],byte) == 0:

hexOut.append('c')

elif cmp([1, 1, 0, 1],byte) == 0:

hexOut.append('d')

elif cmp([1, 1, 1, 0],byte) == 0:

hexOut.append('e')

elif cmp([1, 1, 1, 1],byte) == 0 :

hexOut.append('f')

byte.pop()

byte.pop()

byte.pop()

byte.pop()

n += 1

print ''.join(hexOut)

python hex 补0_Python保留前导零的二进制到十六进制转换相关推荐

  1. python hex 补零_Python输出16进制不带0x补零,整数转16进制,字符串转16进制

    Python输出16进制不带0x补零,整数转16进制,字符串转16进制 在开发中,我们偶尔会遇到需要将数据通过控制台打印出来,以检查数据传输的准确性.例如调试服务端刚接到的二进制数据(里面包含很多非可 ...

  2. python 补前导零_Python正则表达式| 程序从IP地址中删除前导零

    python 补前导零 Given an IP address as input, write a Python program to remove leading zeros from it. 给定 ...

  3. python删除所有core文件_python – 从pandas.core.series.Series中删除前导零

    我有一个带有数据的pandas.core.series.Series 0 [00115840, 00110005, 001000033, 00116000... 1 [00267285, 002636 ...

  4. python 字符串补齐

    python 字符串补全填充固定长度(补齐)的三种方法 text justification 补零,也可以补别的: ''' 原字符串左侧对齐, 右侧补零: ''' str.ljust(width,'0 ...

  5. python自动补全库_叼炸天的库! 自动补全 Python 代码,能节省 60% 敲码时间

    近日,Reddit 上的一篇帖子引起了网友的热议.帖子作者「mlvpj」称: 「我们使用深度学习完成了一个简单的项目,可以自动进行 Python 代码补全.」 根据介绍,该项目基于 LSTM 模型,训 ...

  6. mysql 的 前导零_将前导零添加到MySQL列?

    要添加前导零,可以使用LPAD().让我们首先创建一个表-mysql> create table DemoTable ( Code varchar(100) ); 使用插入命令在表中插入一些记录 ...

  7. Javascript迄今为止添加了前导零

    我已创建此脚本来以dd / mm / yyyy的格式提前10天计算日期: var MyDate = new Date(); var MyDateString = new Date(); MyDate. ...

  8. Python 之vim编写python自动补全

    Pydiction :vim - python自动补全插件 插件的安装如下: 1.下载插件包 https://github.com/vim-scripts/Pydiction 可以直接下载,也可git ...

  9. python从零基础到项目实战怎么样-Python 3.x网络爬虫从零基础到项目实战

    ● 案例完整 本书中的所有案例都是通过"理论讲解 + 环境搭建 + 完整代码及分析 + 运行结果"这种完善的结构进行讲解的.此外,复杂的案例配有项目结构图,有难度的案例还分析了底层 ...

最新文章

  1. PTA基础编程题目集-6-8 简单阶乘计算
  2. strut2以及路径的一些问题
  3. android 上传图片到服务器Tomcat(Struts2)
  4. 飞鸽传书找不到其他人的问题
  5. 和jwt_秒懂 JWT
  6. oracle 执行sql参数混乱,乱用_allow_resetlogs_corruption参数导致悲剧
  7. 04 breakcontinue
  8. hibernate 刷新_Hibernate事实:了解刷新操作顺序很重要
  9. Approximation and fitting、Statistical estimation
  10. 二十二、标志寄存器与栈(代码设计安全,与子程序寄存器安全类似)
  11. 用Grafana为Elasticsearch做日志分析
  12. web前端(滚动条样式)
  13. kinect 手势识别的原理?
  14. Druid的Segment Balance及其代价计算函数分析
  15. 吃了核辐射食物怎么办_尿酸过高怎么办?这几种食物,平时可多吃
  16. pycharm中同时注释多行代码
  17. C语言函数调用的方式求两个数的大小
  18. Axure中级教程:管理后台内容模板(中继器全交互详解)
  19. 使用PowerDesigner创建JAVA类图
  20. 常用的功率半导体器件汇总

热门文章

  1. 038_CSS3图像透明度
  2. it oracle 培训,Oracle数据库技术培训_OracleDBA数据库工程师_Oracle数据库在线学习视频教程_IT职业培训-51CTO学院_精培学院...
  3. java 判断日期是同一天_如何检查Java中的两个日期是否在同一天
  4. 如何区分引用类型和原始类型
  5. 自定义控件:Viewpager
  6. Java数据结构与算法:排序算法
  7. coordinatorlayout 设置不可滑动_滑动关闭App损害iPhone电池寿命,我们需要“改掉强迫症”吗?...
  8. oce专项认证 oracle_获得Oracle认证对拓展职业前景的影响
  9. 职业技术学校计算机专业部教师,江安职校计算机专业部召开第二次全体教师大会...
  10. 在linux下Qt使用sqlite,QT中SQLite使用【实例】