Java将标准String转换为CP1250,每个字符只有一个字节

标签 java string unicode codepages cp1250

我需要将标准字符串转换为 CP1250,每个字符只有一个字节,因此例如波兰字符“ł”应该解析为 0xB3,没有两个字节的 unicode。 当我尝试做类似的事情时:

byte[] array = "ała".getBytes();
s = new String(array, 0, array.length, Charset.forName("CP1250"));

接下来,如果我正在执行 s.getBytes();它返回的字节数比字母多,对于 'ł' 来说,像 unicode 一样是 2 个字节。我需要转换每个字符串并从它们获取字节到精确的 CP1250 代码,如下所示: https://pl.wikipedia.org/wiki/Windows-1250#Tablica_kod.C3.B3w

最佳答案

通过在将字符串转换为字节时提供字符集来做到这一点:

    byte[] array = "ała".getBytes("CP1250");

关于Java将标准String转换为CP1250,每个字符只有一个字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35770896/

相关文章:

java - 从本地网络读取文件,例如\\192.168.0.100\share\file.txt Android代码

C - float 字符串

delphi - TButton.Caption 中的特殊 unicode 字符(而不是图标)

java - 匹配所有内容包括unicode标点符号的正则表达式

python - 如何使用正则表达式从字符串中仅检索阿拉伯语文本?

java - cucumber 测试未并行运行

java - 如何使用 HttpURLConnection 在请求正文中发送数据?

Java Var-args 和增强的 for 循环编译器错误

c - 查找字符串是否是 C 中的迭代子字符串算法?

c - 创建字符数组的方法之间的区别