我将ip x.x.x.x分配给以str返回的变量。需要帮助将此str类型的IP地址转换为十六进制
上下文:
ip = '1.1.1.1'
print type(ip) >>> str
Expected result:
ip = '1.1.1.1'
print ip >>> 0x01010101
请建议不必导入ipaddress模块。因为我们有不同的服务器与python版本2.6到3.3。如果此脚本必须在3.2以下的任何服务器上运行,那么运行此脚本的人必须pip install ipaddress module。任何帮助都在这里受到高度赞赏。
答案 0 :(得分:1)
"0x" + "".join(format(int(octet), "02x") for octet in ip.split("."))
答案 1 :(得分:0)
您不需要任何额外的模块来执行此操作,这是一个有效的代码段:
func loadViewController(identifier: String) {
let vc = storyboard?.instantiateViewController(withIdentifier: identifier) as? ViewController
if let eventVC = vc as? EventViewController {
// Executed code in here
} else if let finishVC = vc as? FinishViewController {
// Executed code in here
}
}
将提供您想要的输出:
0x01010101
0xC0A80002
答案 2 :(得分:0)
您可以使用此示例获得所需的输出:
def str_to_hex(ip = ''):
return '0x' + ''.join('{:02x}'.format(int(char)) for char in ip.split('.'))
print(str_to_hex("1.1.1.1"))
print(str_to_hex("213.1.23.1"))
print(str_to_hex("192.168.0.2"))
输出:
0x01010101
0xd5011701
0xc0a80002