将字符串从代码页 1252 转换为 1250

发布于 2024-10-14 20:25:48 字数 344 浏览 8 评论 0原文

如何将一个在代码页 1252 中解码的字符的 String 转换为在代码页 1250 中解码的 String

例如,

String str1252 = "ê¹ś¿źæñ³ó";
String str1250 = convert(str1252);
System.out.print(str1250);

我想找到这样的 convert() 函数,打印输出将是:

ęąśżźćńłó

这些是波兰语特定的字符。

感谢您的任何建议。

How can I convert one String with characters decoded in codepage 1252 into a String decoded in codepage 1250.

For example

String str1252 = "ê¹ś¿źæñ³ó";
String str1250 = convert(str1252);
System.out.print(str1250);

I want to find such convert() function, that printed output would be:

ęąśżźćńłó

These are Polish-specific characters.

Thank you for any suggestions.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

巷雨优美回忆 2024-10-21 20:25:48

这非常简单:

public String convert(String s) {
    return new String(s.getBytes("Windows-1252"), "Windows-1250");
}

请注意,System.out.print() 可能会引入另一个不正确的错误由于 ANSI 和 OEM 代码页不匹配而导致的转换。但是 System.console().writer().print() 应该正确输出它。

It's pretty straightforward:

public String convert(String s) {
    return new String(s.getBytes("Windows-1252"), "Windows-1250");
}

Note that System.out.print() can introduce another incorrect conversion due to mismatch between ANSI and OEM code pages. However System.console().writer().print() should output it correctly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文