【发布时间】:2013-09-19 15:45:47
【问题描述】:
我想将 NSString 转换为字节数组。这就是我在 Java 上所做的:
private static final String myString = ">9:2212!>3415!2345611<::156:66>12:6569;6154!<2!6!!:32!!>!943252<3:1;:>214964?6?;!?6:343564:64!93";
byte byteArr[] = toBytes(myString);
static byte[] toBytes(String s) {
int size = s.length();
byte bytes[] = new byte[size / 2];
int i = 0;
for(int j = 0; i < size; j++)
{
bytes[j] = (byte)((s.charAt(i) & 0xf) << 4 | s.charAt(++i) & 0xf);
i++;
}
return bytes;
}
这返回给我类似:[b3k2da311
我尝试使用 [myString UTF8String],但它基本上返回相同的字符串。我需要类似上面的代码。
【问题讨论】:
-
您希望字节采用什么编码? UTF8,16,32 ASCII?
-
UTF8。 dataUsingEncoding 和 UTF8String 可能不是我想要的。
-
我认为你想要 UTF-16BE - Android 的字符串是 UTF16 BE
-
这个问题不是与stackoverflow.com/questions/881482/nsstring-into-bytes-array的重复,需要的转换不是简单的“将NSString转换为UTF-8”看Java代码示例。
标签: java objective-c nsstring bytearray