我有字節數組,我要轉換爲ascii
string.but我不知道它是否是ASCII, 我不知道它是否是正確的格式,我使用字節數組轉換爲ASCII字符串是亂碼
org.apache.commons.codec.binary.StringUtils.newStringUsAscii (driveCodeByte);
但轉換的字符串是亂碼如下圖,所以我能做些什麼來轉換爲正確的格式?
即使我不確定它是ascii或其他編碼格式。
我有字節數組,我要轉換爲ascii
string.but我不知道它是否是ASCII, 我不知道它是否是正確的格式,我使用字節數組轉換爲ASCII字符串是亂碼
org.apache.commons.codec.binary.StringUtils.newStringUsAscii (driveCodeByte);
但轉換的字符串是亂碼如下圖,所以我能做些什麼來轉換爲正確的格式?
即使我不確定它是ascii或其他編碼格式。
要將byte[]
轉換爲String
和轉換編碼,你不需要外部框架。
String original = new String(myByteArray, myOriginalEncoding)
從您的byte[]
給出的預期編碼得到String
。String
轉換爲取其編碼(這裏ASCII):String converted = new String(original.getBytes(myOriginalEncoding), "Cp1252")
注意
您必須知道你原來String
的編碼與解釋,即UTF-8
,ISO Latin 1
等。
什麼是「亂碼」?我們不知道原始數據是什麼,或者您期望的輸出。如果你想提供更多的上下文以及樣本輸入數據和期望的輸出數據,這將非常有幫助。 – 2014-10-16 10:57:45
我真的不知道輸出內容,我只知道字節數組應該轉換爲ASCII字符串,但現在我的轉換是不正確的,因爲它是亂碼 – 2014-10-17 01:26:31
我強烈懷疑它是*非* ASCII文本,那麼你不應該'實際上將其轉換爲ASCII。如果你不知道*它最初是文字,你不應該假設它是。你說你「不知道輸出內容」 - 當然你有一些想法是什麼信息。如果你不這樣做,你爲什麼要使用它? – 2014-10-17 05:42:07