python进制转化函数,10进制字符串互转,16进制字符串互转
来了老弟,emmmmm,今天想到平时经常用到编码转化,把字符串转化为16进制绕过等等的,今天想着用python写个玩,查询了一些资料,看了些bolg
上面的两个函数是将二进制流转化为16进制,data的每一个比特都被转为对应十六进制的2位,因此返回结果是data长度的二倍。
下面的两个函数意思是将十六进制串转为二进制流,其中十六进制串长度必须是偶数,否则返回类型错误
直接上代码,学到的皮毛写了个16进制和字符的互转,输入时不需要带16进制符号0x
这是py2 QAQ
#python2 import binascii inputt=input('如果16进制转字符请选择1,字符转16进制请请选择0 :') if(inputt==1): temp_one = raw_input('请输入您需要转化的16进制数:') temp1 = binascii.unhexlify(temp_one) print temp1 else: temp_two = raw_input('请输入您需要转化的字符串:') temp2 = binascii.hexlify(temp_two) print temp2
![](https://img2018.cnblogs.com/blog/1357258/201903/1357258-20190320201553244-719882295.png)
一开始写的时候,以为是python3的input语法,返回的都是字符串。其实不然,在python2中,raw_input() 将所有输入作为字符串看待,返回字符串类型. 而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )
在 Python3.x 中 raw_input() 和 input() 进行了整合,去除了 raw_input( ),仅保留了input( )函数,其接收任意任性输入,将所有输入默认为字符串处理,并返回字符串类型
>>来自菜鸟教程的说明
如果是10进制和字符串互转的话,加个hex()函数就可以实现拉。可以参考BOLG:https://blog.csdn.net/qq_15727809/article/details/83513074 对了py2和py3的str类型也不同,博文中写道了:Python2环境下,字符串默认存储是二进制流,即str=bytes,因此可以这样转换。Python3二者有区分,因此需要将str转为bytes 上面的文章中有py3的代码程序,看一下就会啦。下次有空再补上,先去学习题目了 。 学到了学到了,妈妈也在不用担心我总是百度在线字符进制转换了。(- -好生硬)