首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python将以base 64编码的IP地址转换为十进制IP地址。

Python将以base 64编码的IP地址转换为十进制IP地址。
EN

Stack Overflow用户
提问于 2019-05-28 05:28:42
回答 2查看 0关注 0票数 0

我是编程和Python的新手,所以请耐心等待。我有一个字符串是Base64,我想将其转换为十进制。字符串可以作为任何值进入脚本,例如zAvIAQ。此值表示转换为十进制时的IP地址204.11.200.1。我想要做的是将Base64字符串转换为十进制并将其分配给一个变量,以便我可以在脚本的其他地方使用它。

我试过使用base64.decode函数,但这只是给我一个非常奇怪的文本输出。我试过使用Decimal()函数,但这给了我一个错误。经过几天的搜索,我找不到办法,至少没有一个我能理解的方法。您可以提供任何帮助,我们将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2019-05-28 13:40:26

>>> address=[ord(c) for c in base64.b64decode('zAvIAQ==')]
>>> address
[204, 11, 200, 1]
票数 0
EN

Stack Overflow用户

发布于 2019-05-28 14:59:59

我经常使用base64.b64decode()。有了这个你得到:

In [18]: base64.b64decode('zAvIAQ==')
Out[18]: '\xcc\x0b\xc8\x01'

这可能是你指的怪异输出。关键是你得到一个字节串,每个字节代表一个0到255之间的值。这些值可能不可打印,因此是\ x表示。

但是,如您所知,这些是IPv4地址的桶,您可以通过它们将它们转换为小数,例如使用生成器表达式:

[ord(c) for c in ...]

你得到更熟悉的表示204,11,200,1。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100006835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档