簡體   English   中英

Java Split ISO-8859-1 String with "broken vertical bar"

[英]Java Split ISO-8859-1 String with "broken vertical bar"

我從第三個系統中讀取了 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]

您首先需要將ISO-8859-1 字符串正確解碼為 Unicode 表示,以便您可以使用您提供的 Unicode 字符串文字 ( | ) 將其拆分——當然,假設您正在使用 Unicode 編碼編譯程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM