[英]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.