我想转换 ajava.net.InetAddress
并且我与签名/未签名问题作斗争。这样的痛苦。
我在 Java 中读取从短到字节的转换,反之亦然,为什么字节 b =(字节)0xFF 等于整数-1?
结果想出了:
final byte [] pumpeIPAddressRaw =
java.net.InetAddress.getByName (pumpeIPAddressName).getAddress ();
final long pumpeIPAddress =
((pumpeIPAddressRaw [0] & 0xFF) << (3*8)) +
((pumpeIPAddressRaw [1] & 0xFF) << (2*8)) +
((pumpeIPAddressRaw [2] & 0xFF) << (1*8)) +
(pumpeIPAddressRaw [3] & 0xFF);
android.util.Log.i (
Application.TAG, "LOG00120: Setzte Pumpen Addresse : " +
pumpeIPAddress + ":" + pumpeIPPort);
猜猜日志仍然显示什么:
04-10 13:12:07.398 I/ch.XXXX.remote.Application(24452): LOG00120: Setzte Pumpen Addresse : -1063035647:27015
有人知道我在做什么错吗?