目前我想以下一种方式实现字符集验证:
我的问题:有更好的方法吗?
答案 0 :(得分:2)
CharsetEncoder e=Charset.forName("ISO-8859-1").newEncoder();
// tell that we want an exception
e.onUnmappableCharacter(CodingErrorAction.REPORT);
// this will pass
e.encode(CharBuffer.wrap("hello iso latin 1"));
// this will throw
e.encode(CharBuffer.wrap("\u20ac is a non-latin-1 character"));
或
CharsetEncoder e=Charset.forName("ISO-8859-1").newEncoder();
// this will pass
if(!e.canEncode("hello iso latin 1"))
throw new CharacterCodingException();
// this will throw
if(!e.canEncode("\u20ac is a non-latin-1 character"))
throw new CharacterCodingException();
但你应该问问自己为什么需要这个。 XML文件可以使用&#…;
实体表示任何unicode字符。让XML库处理这个问题。