diff --git a/java/src/com/google/gdata/util/io/base/UnicodeReader.java b/java/src/com/google/gdata/util/io/base/UnicodeReader.java index 939ef7db..9a54d778 100644 --- a/java/src/com/google/gdata/util/io/base/UnicodeReader.java +++ b/java/src/com/google/gdata/util/io/base/UnicodeReader.java @@ -60,20 +60,20 @@ public UnicodeReader(InputStream in, String defaultEnc) throws IOException { && (bom[2] == (byte) 0xBF)) { encoding = "UTF-8"; unread = n - 3; - } else if ((bom[0] == (byte) 0xFE) && (bom[1] == (byte) 0xFF)) { - encoding = "UTF-16BE"; - unread = n - 2; - } else if ((bom[0] == (byte) 0xFF) && (bom[1] == (byte) 0xFE)) { - encoding = "UTF-16LE"; - unread = n - 2; } else if ((bom[0] == (byte) 0x00) && (bom[1] == (byte) 0x00) - && (bom[2] == (byte) 0xFE) && (bom[3] == (byte) 0xFF)) { + && (bom[2] == (byte) 0xFE) && (bom[3] == (byte) 0xFF)) { encoding = "UTF-32BE"; unread = n - 4; } else if ((bom[0] == (byte) 0xFF) && (bom[1] == (byte) 0xFE) - && (bom[2] == (byte) 0x00) && (bom[3] == (byte) 0x00)) { + && (bom[2] == (byte) 0x00) && (bom[3] == (byte) 0x00)) { encoding = "UTF-32LE"; unread = n - 4; + } else if ((bom[0] == (byte) 0xFE) && (bom[1] == (byte) 0xFF)) { + encoding = "UTF-16BE"; + unread = n - 2; + } else if ((bom[0] == (byte) 0xFF) && (bom[1] == (byte) 0xFE)) { + encoding = "UTF-16LE"; + unread = n - 2; } else { // Unicode BOM mark not found, unread all bytes encoding = defaultEnc;