在Java中,可以使用以下方法将字符串转换为二进制UTF-16编码:
getBytes()
方法,指定字符编码为UTF-16,将字符串转换为字节数组。String str = "Hello, World!";
byte[] utf16Bytes = str.getBytes("UTF-16");
StringBuilder binaryString = new StringBuilder();
for (byte b : utf16Bytes) {
String binary = Integer.toBinaryString(b & 0xFF);
binaryString.append(String.format("%8s", binary).replace(' ', '0'));
}
String binaryUTF16 = binaryString.toString();
以上代码将字符串转换为二进制UTF-16编码,并将结果存储在binaryUTF16
变量中。
要将二进制字符串转换回字符串,可以按照以下步骤进行:
substring()
方法将二进制字符串按照每8位分割为字节。List<String> byteStrings = new ArrayList<>();
for (int i = 0; i < binaryUTF16.length(); i += 8) {
byteStrings.add(binaryUTF16.substring(i, Math.min(i + 8, binaryUTF16.length())));
}
byte[] utf16Bytes = new byte[byteStrings.size()];
for (int i = 0; i < byteStrings.size(); i++) {
int byteValue = Integer.parseInt(byteStrings.get(i), 2);
utf16Bytes[i] = (byte) byteValue;
}
String
的构造函数,指定字符编码为UTF-16,将字节数组转换为字符串。String str = new String(utf16Bytes, "UTF-16");
以上代码将二进制UTF-16编码转换为字符串,并将结果存储在str
变量中。
请注意,以上代码仅适用于处理UTF-16编码的字符串转换。对于其他编码方式,需要相应地调整字符编码参数。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云