大佬教程收集整理的这篇文章主要介绍了将 DEC 转换为 IP 飞镖,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我得到一个 int32 : -1407942911,我需要将其转换为 ip
我用过这个功能:
_setIp(int _ip){
var _strData = StringBuffer();
for (int i = 0; i<4; i++){
_strData.write(_ip &0xff );
if (i < 3) {
_strData.write(".");
}
_ip = _ip >> 8;
}
return _strData.toString();
}
但是我得到的 ip 倒过来了:1.127.20.172 而不是 172.20.127.1
我试图复制这个 java 代码
public String longToIp(long ip) {
StringBuilder result = new StringBuilder(15);
for (int i = 0; i < 4; i++) {
result.insert(0,Long.toString(ip & 0xff));
if (i < 3) {
sb.insert(0,'.');
}
ip = ip >> 8;
}
return result.toString();
}
更新
我解决了错误
static setIp(int _ip){
var _strData = StringBuffer();
for (int i = 0; i<4; i++){
_strData.write(_ip >> 24 &0xff );
if (i < 3) {
_strData.write(".");
}
_ip = _ip << 8;
}
return _strData.toString();
}
你可以这样做:
import 'dart:io';
import 'dart:typed_data';
void main() {
print(getIpFromInt32Value(-1407942911)); // 172.20.127.1
}
String getIpFromInt32Value(int value) => InternetAddress.fromRawAddress(
(ByteData(4)..seTint32(0,value)).buffer.asUint8List())
.address;
以上是大佬教程为你收集整理的将 DEC 转换为 IP 飞镖全部内容,希望文章能够帮你解决将 DEC 转换为 IP 飞镖所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。