字符串编码相互转换

一个字符串编码格式转换小工具,实现一个编码的字符串转换的另一个编码的字符串。

如字符串“你好中国!”,原编码是GBK,需要转换的UTF-8编码格式的“你好中国!”。

目前没有找到直接根据字符串能获取到其编码格式,因此需要提前知道其原字符串的编码格式。这也是一个缺陷!

static String charsetTransfer(String src, String srcCharset, String destCharset) throws IOException {
    InputStreamReader isr = new InputStreamReader(new ByteArrayInputStream(src.getBytes(srcCharset)), srcCharset);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    OutputStreamWriter out = new OutputStreamWriter(baos, destCharset);
    char[] c = new char[1024];
    int len;
    while ((len = isr.read(c)) != -1) {
        out.write(c, 0, len);
    }
    out.flush();
    out.close();
    isr.close();
    return baos.toString(destCharset);
}

srcCharset:原子字符串编码

destCharset:转换后目标字符串编码

最后,若大家知道根据字符串获取其编码的,欢迎大家留言,Thanks♪(・ω・)ノ

你可能感兴趣的:(Java专栏,java,开发语言)