我在iOS应用程序中有一个字节数组,
counter++
我需要从运行Java的Android设备发送这些相同的确切值。
有没有办法可以将无符号值可靠地转换为Java可以使用和发送的东西,这相当于iOS上的字节值?
答案 0 :(得分:1)
在Objective-c中,从数据...
创建一个十六进制字符串const uint8_t bytes[] = {189U, 139U, 64U, 0U};
NSMutableString *result = [NSMutableString string];
for (int i = 0; i < 4; ++i) {
[result appendFormat:@"%02x", (uint8_t)bytes[i]];
}
NSLog(@"%@",result);
这将导致....
bd8b4000
然后在java中apply an idea like this(这里逐字复制代码)......
public static byte[] hexStringToByteArray(String s) {
int len = s.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
+ Character.digit(s.charAt(i+1), 16));
}
return data;
}