有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

编码Java函数,将Windows1252编码为UTF8,得到相同的符号

我是这个论坛的新成员。我对编码Windows-1252到UTF-8之间的转换有问题

我有一个用Windows-1252编码的字符串(例如:字符)。我想获得相同的符号,但编码为UTF-8。我的意思是:我想要的源字符和目标字符总是相同的,但编码不同

可能吗?此外:它还存在一个自动执行这种转换的Java函数(例如,通过传递起始编码和结束编码)

提前感谢您的帮助

你好, 西蒙尼


共 (1) 个答案

  1. # 1 楼答案

    您可以使用字符串作为中介在各种编码之间进行转码:

    byte[] windows1252 = { (byte) 0xA2 };
    String utf16 = new String(windows1252, Charset.forName("windows-1252"));
    byte[] utf8 = utf16.getBytes(StandardCharsets.UTF_8);
    

    char数据在Java中始终是UTF-16