首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在java中将字符串转换为二进制utf-16和二进制为字符串?

在Java中,可以使用以下方法将字符串转换为二进制UTF-16编码:

  1. 将字符串转换为字节数组:使用字符串的getBytes()方法,指定字符编码为UTF-16,将字符串转换为字节数组。
代码语言:txt
复制
String str = "Hello, World!";
byte[] utf16Bytes = str.getBytes("UTF-16");
  1. 将字节数组转换为二进制字符串:遍历字节数组,将每个字节转换为二进制字符串,并拼接起来。
代码语言:txt
复制
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变量中。

要将二进制字符串转换回字符串,可以按照以下步骤进行:

  1. 将二进制字符串按照每8位分割为字节:使用substring()方法将二进制字符串按照每8位分割为字节。
代码语言:txt
复制
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())));
}
  1. 将字节字符串转换为字节数组:遍历字节字符串列表,将每个字节字符串转换为字节,并存储在字节数组中。
代码语言:txt
复制
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;
}
  1. 将字节数组转换为字符串:使用String的构造函数,指定字符编码为UTF-16,将字节数组转换为字符串。
代码语言:txt
复制
String str = new String(utf16Bytes, "UTF-16");

以上代码将二进制UTF-16编码转换为字符串,并将结果存储在str变量中。

请注意,以上代码仅适用于处理UTF-16编码的字符串转换。对于其他编码方式,需要相应地调整字符编码参数。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 领券