发新话题
打印

[python] 关于python中的string.atoi()的问题

关于python中的string.atoi()的问题

#!/usr/bin/python
#filename:string.py

import string

print  string.atoi('13',8)      #这里转换8进制的数
print string.atoi('13',16)     #这里转换成16进制的数

运行后的结果:
11
19      

这里的结果我有点想不明白,我用计算器转的结果  8进制应该是15,16进制应该是D,python中这种转换是如何得到11和19这样的结果?

[ 本帖最后由 eudemon 于 2008-8-26 11:47 编辑 ]

TOP

atoi(s,[base])  
base默认是10,这个函数的作用是将字符串 s 转换成数值类型,而base的作用是指定进制
引用:
print  string.atoi('13',8)      #这里转换8进制的数
print string.atoi('13',16)     #这里转换成16进制的数
print  string.atoi('13',8)      #这里是将字符串'13'基于8进制转换成数值类型  即11
print string.atoi('13',16)     #这里是将字符串'13'基于16进制转换成数值类型  即19

TOP

right
print pack( 'H*', '436e616e67656c');
http://renark.huhoo.net/crypt.cgi

TOP

首先非常感谢解答。
可能是我的理解能力有问题,这里的基于进制的转换和直接转换成8进制或16进制的概念是不一样的对吗?

print  string.atoi('13',8)      #这里是将字符串'13'基于8进制转换成数值类型  即11
print string.atoi('13',16)     #这里是将字符串'13'基于16进制转换成数值类型  即19

这里的11和19 并不是所谓的8进制数和16进制数,是这样理解吗?

TOP

11和19是十进制数,而13的进制则根据第二个参数的变化而变化。

TOP



再次表示感谢。我理解了。

TOP

发新话题