当前位置: 首页 > 知识库问答 >
问题:

Java函数将Windows-1252编码为UTF-8,获得相同的符号

武骁
2023-03-14

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

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

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

提前感谢你所有的帮助。

你好,西蒙妮

共有1个答案

闽康安
2023-03-14

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

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

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

 类似资料:
  • 在我的Silverlight应用程序中,我得到了一个用windows-1252编码的XML文件。现在我的问题,它不会正确显示,直到Windows-1252字符串转换为UTF8字符串。在一个正常的C#环境中,这不会是一个大问题:在那里我可以做这样的事情: (将字符串的字符编码从windows-1252转换为utf-8) 但是silverlight不支持windows-1252,它只支持unicode

  • 我试图保存一个字符串在希伯来文文件,同时有文件ANSI编码。恐怕所有的尝试都失败了。 PHP文件本身是UTF-8 这是我正在尝试的代码: 由于某种原因,返回false。 另一次尝试是: 这返回一个空字符串。当这不起作用时,将输出字符集更改为Windows-1255的工作。所以函数本身工作,但由于某种原因,它不转换为1252。 我运行这个函数之前和之后的和打印的结果 在图标之前编码是UTF-8,在图

  • 我有UTF-8源数据,我必须创建在Windows 1252字符编码编码的CSV文件。 我尝试了经典功能,但效果不佳。它必须支持转换后的塞尔维亚字符: "čćžšđ" 。 此外,我还尝试转换为CP1252、ISO-8859-1、ISO-8859-2,功能包括:mb_convert_编码、iconv和iconv_set_编码。 有人知道该试试什么吗?

  • 我遇到了一个编码问题。不确定它是否与IDE相关,但我使用的是NetBeans 7.4。我在J2EE项目中得到了这段代码: 当我运行它时,它从来没有正确显示。UTF-8应该可以打印出来,但它没有。还有当我尝试: 它返回了windows-1252。项目设置为UTF-8编码。我甚至尝试过用UTF-8重新保存这个特定的java文件,但它仍然不能正确显示。 另一方面,我尝试创建J2SE项目,当我运行相同的代

  • 我需要将上传的文件名转换为未知编码的Windows 1252,同时保持UTF-8兼容性。 当我将这些文件传递给控制器(我对其没有任何影响)时,这些文件必须经过Windows-1252编码。然后,该控制器再次生成通过MySQL存储到数据库中的有效文件(名称)列表-因此我需要UTF-8兼容性。传递给控制器的文件名和写入数据库的文件名必须匹配。到目前为止还不错。 在一些罕见的情况下,当转换为“Windo

  • 问题内容: 我有一个带有“ñ”字符的字符串,并且我有一些问题。我需要将此字符串编码为UTF-8编码。我已经通过这种方式尝试过,但是没有用: 如何将该字符串编码为utf-8? 问题答案: Java中的对象使用无法修改的UTF-16编码。 唯一可以使用不同编码的是。因此,如果你需要UTF-8数据,则需要一个。如果你有一个包含意外数据的,则问题出在较早的地方,该错误地将一些二进制数据错误地转换为a (即