Java 用 "broken vertical bar"分割 ISO-8859-1 字符串

标签 java string utf-8 split iso-8859-1

我从第三个系统读取了 ISO-8859-1 编码的字符串。我必须用字符 ⁠ 分割这个字符串。该字符在 ISO-8859-1 中的值为 166。 下面的代码不起作用,因为 ⁠ 在 Java (UTF-8) 中的值为 65533。

String [] parts = isoString.split("¦");

我被困住了...我该如何解决这个问题? 谢谢

最佳答案

工作代码:

String s = new String(new byte[] {'a', 'b', (byte) 166, 'c', 'd'}, 
                      StandardCharsets.ISO_8859_1);
String[] split = s.split("\u00a6");
System.out.println("split = " + Arrays.toString(split));
// prints split = [ab, cd]

关于Java 用 "broken vertical bar"分割 ISO-8859-1 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36372715/

相关文章:

Java Applet 空指针异常

java - 如何使用java将excel表中的数据插入数据库(包括空格而不编辑它们)

java - 如何将从数据库中检索到的字符串值与程序中定义的字符串值进行比较

java - 将首选编码指令嵌入到java程序中

C 表示一个 UTF-8 多字符

java - 如何将java对象转换为clojure中的映射?

java - 将物体以匀速直线从A点移动到B点

c - 将字符串分配为结构成员时出现内存泄漏

CSS 验证 : "Parse Error [empty string]"

spring - @PropertySource 和 UTF-8 属性文件