CharsetDecoder should replace undefined bytes with replacement string ---------------------------------------------------------------------
Key: HARMONY-137 URL: http://issues.apache.org/jira/browse/HARMONY-137 Project: Harmony Type: Bug Components: Classlib Reporter: Vladimir Strigun Priority: Minor Corresponding to cp1250 mapping table, 0x81 byte is undefined. See http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1250.TXT So, charset decoder should replace undefined bytes with default replacement, i.e. 0xFFFD. Testcase for reproducing this issue: import java.nio.charset.*; import java.nio.*; public class Harmony137 { public static void main(String[] args) throws Exception { ByteBuffer bb = ByteBuffer.allocate(5); bb.put((byte)0x81); bb.flip(); Charset cp1250 = Charset.forName("cp1250"); CharBuffer cb = cp1250.newDecoder().onMalformedInput(CodingErrorAction.REPLACE).onUnmappableCharacter(CodingErrorAction.REPLACE).decode(bb); if(cb.get(0)!=65533) { System.out.println("FAIL: expected 0xFFFD but result is: 0x"+Integer.toHexString(cb.get(0)).toUpperCase()); } } } -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira