簡體   English   中英

JAVA代碼以UTF-8數據標識字符串

[英]JAVA Code To Identify A String With UTF-8 data

我正在嘗試標准化一組數據。 其中一些名稱是UTF-8編碼的,其他則不是。 我需要在JAVA中做的是檢測名稱是否為UTF編碼,或者是否使用某種形式的條件邏輯,以便我可以正確轉換每一行。

String s1 = "José Flores";
String s1 = "José Flores";

IF [condition] (identify UTF-8)
    byte[] utf8Bytes = s1.getBytes("ISO-8859-1");
    String s2 = new String(utf8Bytes,"UTF-8");
ELSE
    String s2 = s1;

借助juniversalchardet ,您可以獲取編碼,然后執行條件運算。 這可以幫助您獲取編碼類型。

public static String guessEncoding(byte[] bytes) {
String DEFAULT_ENCODING = "UTF-8";
org.mozilla.universalchardet.UniversalDetector detector =
    new org.mozilla.universalchardet.UniversalDetector(null);
detector.handleData(bytes, 0, bytes.length);
detector.dataEnd();
String encoding = detector.getDetectedCharset();
detector.reset();
if (encoding == null) {
    encoding = DEFAULT_ENCODING;
  }
 return encoding;
}

這需要juniversalchardet-1.0.3.jar, 也是一些信息

暫無
暫無

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

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