我们目前正在将其中一个项目从 Objective-C 移植到 Java。
字节数据来自编码为字符串的服务器,我们将其转换为字节数组。
[目标-C]:
NSString * imageString = @"abcde......"; //quite a long string
NSData * imageData = [imageString dataUsingEncoding:NSUnicodeStringEncoding];
constant Byte * imageBytes = [imageData bytes];
现在,我正在尝试在 Android 上做同样的事情
[JAVA]:
String imageString = "abcde......"; //quite a long string
byte [] imageBytes = imageString.getData("UTF-16");
但是,如果我比较第一个和第二个片段中的 imageBytes 数组,它们是不同的。我认为这与我在 Java 案例中使用的 UTF-16 编码有关(我猜没有“Unicode”这样的选项)。
有什么解决办法吗?