记录下对进制转换实现的重新思考。

扫描二维码扫到了一句垃圾话。

拖到winhex里面。

一开始以为是十进制直接转ascii,发现错误。

后来发现,最大数是7,八进制转换吧。

我是打算用python的libnum模块转换,所以我先把8进制转换为10进制,然后10进制转换为ascii

贴出代码

import libnum
a='146154141147173110141166145137171060125137120171137163143162151160164137117164143137124157137124145156137101163143151151041175'
a=int(a,8)
print(a)

转化后的十进制数是:
122904376305381298193412913733165208999270088458846253109387416074993504924322568636802010235499192855449942901373

print(libnum(n2s(a)))发现报错。

为什么会报错呢?我一开始纠结这里,但是后来发现根本不用纠结这个地方。

来看两种情况的进制转换

①十进制102108转化为text   

你可以这么理解:这个得先转化为十六进制,然后十六进制每两个一组转化为ascii

②十进制 102 108转化为text  

这个事实102-f, 108-l

可以看出来这两种结果是不一样的,题目也是这样的。

你仔细观察的话,你会发现这个貌似是第二种情况,每三位数一组,然后分别代表一个ascii。

如果你像我一上来直接把这一大长串数转化为10进制的话,就破坏了他的数值了。

总结下来就是,不能一上来就脚本转换,得观察数的特点,不过这个题目也不给数之间加空格,确实容易犯这种错误

最新文章

  1. CentOS6.4下基于Nginx搭建mp4/flv流媒体服务器
  2. 最全面的NSDateHelper 分享
  3. HealthKit框架
  4. ABAP之PINYING拼音
  5. iOS开发小技巧--利用苹果官方API播放视频(方法已经过时,了解一下)
  6. Toast添加动画
  7. mvc中HttpPost理解
  8. CF 191 div2
  9. Tkinter隐藏窗口再让他显示出来的例子
  10. 2017qq红包雨最强攻略,
  11. Linux c codeblock的使用(二):在工程中编译多个文件
  12. LeetCode 160 相交链表
  13. PostgreSQL主要优势
  14. vue获取地址栏传过来的参数VS原生js获取地址栏的参数
  15. 分布式 session
  16. PAT B1022 D进制的A+B (20 分)
  17. 第一模块第一章 review
  18. 通过beego快速创建一个Restful风格API项目及API文档自动化(转)
  19. 模拟时钟(AnalogClock)
  20. leetCode题解之寻找一个数在有序数组中的范围Search for a Range

热门文章

  1. Angular CLI的简单使用(1)
  2. sql server 索引总结三
  3. 让你不再害怕指针——C指针详解(经典,非常详细)
  4. python实现链表中倒数第k个结点
  5. Windows下配置Jmeter环境变量
  6. bootstrap3 文档随看
  7. linux apache 不解析php文件显示源码
  8. Oracle 函数 之 wm_concat()
  9. IDEA注释模板设置
  10. 使用Vue CLI 3快速创建项目