gpt4 book ai didi

iOS 将 IP 地址转换为整数并向后转换

转载 作者:行者123 更新时间:2023-11-28 18:39:33 28 4
gpt4 key购买 nike

假设我有一个 NSStringNSString *myIpAddress = @"192.168.1.1"

我想将其转换为整数 - 递增它然后将其转换回 NSString。

除了使用位掩码、移位和 sprintf 之外,iOS 有没有简单的方法来做到这一点?

最佳答案

我在 my app 中就是这样做的:

NSArray *ipExplode = [string componentsSeparatedByString:@"."];
int seg1 = [ipExplode[0] intValue];
int seg2 = [ipExplode[1] intValue];
int seg3 = [ipExplode[2] intValue];
int seg4 = [ipExplode[3] intValue];

uint32_t newIP = 0;
newIP |= (uint32_t)((seg1 & 0xFF) << 24);
newIP |= (uint32_t)((seg2 & 0xFF) << 16);
newIP |= (uint32_t)((seg3 & 0xFF) << 8);
newIP |= (uint32_t)((seg4 & 0xFF) << 0);

newIP++;
NSString *newIPStr = [NSString stringWithFormat:@"%u.%u.%u.%u",
((newIP >> 24) & 0xFF),
((newIP >> 16) & 0xFF),
((newIP >> 8) & 0xFF),
((newIP >> 0) & 0xFF)];

关于iOS 将 IP 地址转换为整数并向后转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13038610/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com