验证特定代码页中是否完全支持String

时间:2014-02-10 11:02:57

标签: java codepages

下面我有一个小测试程序,可以验证代码页 CP852是否完全支持字符串的内容。有更优雅的方式吗?

public class CodepageTest {
    public static void main(String[] args) {
        try {
            String test = "æøå123";
            String test2 = new String(test.getBytes("CP852"), "CP852");

            System.out.println(test);
            System.out.println(test2);

            System.out.println("String supported in codepage: " + (test.equals(test2)));
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
    }
}

输出:

æøå123
???123
String supported in codepage: false

1 个答案:

答案 0 :(得分:1)

您可以明确创建与您的字符集对应的编码器并使用its canEncode method

boolean canEncode = Charset.forName("CP852").newEncoder().canEncode(test);