我有一个正在处理的 Blackberry 项目,我需要将使用 UTF-16LE(小端)编码的字符串字节数组转换为 UTF-16BE(大端)编码的字符串字节数组,并且 vis。反之亦然。我正在连接的服务器正在以 UTF-16LE 编码发送 BlackBerry 设备字节字符串数组,但该设备本身并不支持 UTF-16LE。当我尝试将字节数组解码回字符串时,字符串难以辨认。但是,该设备确实支持 UTF-16BE。我还需要反转这个过程,即将使用 UTF-16BE 编码的字符串的字节数组转换为服务器所期望的 (UTF-16LE)。谢谢。
我无法在设备上执行此操作:
String test = "test";
byte[] testBytes = test.getBytes("UTF-16LE");// throws UnsupportedEncodingException
我可以这样做:
String test = "test";
byte[] testBytes = test.getBytes("UTF-16BE");//works