3
我有一個文件,當顯示geanny *顯示UTF-16BE。如果我嘗試將Java中的此文件轉換爲其他編碼(假設爲ISO-8859-1),假設它是UTF-16BE,則每次在新的開始時出現問號(?)創建的文件。如果相反,我認爲它是在UTF-16(這是不正確的),轉換後的文件得到轉換好,沒有任何問號在開始。 有人可以澄清爲什麼這種行爲?java中的UTF-16BE和UTF-16問題
貝婁是從我使用的代碼片段:
StringBuilder sb = new StringBuilder();
BufferedReader buff = new BufferedReader(new InputStreamReader(inputStream, utf16beCharset));
String line = null;
while ((line = buff.readLine()) != null) {
sb.append(line);
sb.append('\n');
}
String output = new String(sb.toString().getBytes(neededCharset), neededCharset);
System.out.println(output);
* geanny是一個文本編輯器
必須是物料清單,這在BE模式下是不期望的(您已經知道它是BE,對吧?)。 – Bram
@Bram如果這不是BE的預期,它爲什麼會出現? – artaxerxe
@artaxerxe BOM不是UTF-16BE編碼的一部分,所以它顯示了一個問號。 – WonderWorld