首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将UTF-8转换为Shift-JIS

将UTF-8转换为Shift-JIS
EN

Stack Overflow用户
提问于 2018-08-15 14:56:34
回答 2查看 7.9K关注 0票数 0

我已经写了简单的转换代码从UTF-8转换为日语字符。

代码语言:javascript
复制
    private static String convertUTF8ToShiftJ(String uft8Strg) {
        String shftJStrg = null;
        try {

            byte[] b = uft8Strg.getBytes(UTF_8);
            shftJStrg = new String(b, Charset.forName("SHIFT-JIS"));
            logger.info("Converted to the string :" + shftJStrg);
        } catch (Exception e) {
            e.printStackTrace();
            return uft8Strg;
        }
        return shftJStrg;
    }

但它给出了输出误差,

代码语言:javascript
复制
convertUTF8ToShiftJ START !!
uft8Strg=*** abc000.sh ����started�
*** abc000.sh ��中�executing...�
*** abc000.sh ����ended��*

有没有人知道我在哪里犯了错,或者需要一些额外的逻辑,这真的会很有帮助!

EN

回答 2

Stack Overflow用户

发布于 2018-08-15 15:35:12

你的String已经是一个String了,所以你的方法是“错误的”。UTF8是一种编码,它是byte[],可以在Java语言中转换为String

它应该是:

代码语言:javascript
复制
private static byte[] convertUTF8ToShiftJ(byte[] uft8) {

如果要将UTF8 byte[]转换为JIS byte[]

代码语言:javascript
复制
private static byte[] convertUTF8ToShiftJ(byte[] uft8) {
    String s = new String(utf8, StandardCharsets.UTF_8);
    return s.getBytes( Charset.forName("SHIFT-JIS"));
}

稍后,可以通过mystring.getBytes(encoding)String转换为byte[]

请查看The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)了解更多详细信息。

票数 2
EN

Stack Overflow用户

发布于 2018-08-15 15:58:42

看起来你对字符串编码有一个概念上的误解。有关示例Byte Encodings and Strings,请参阅。

String从一种编码转换为另一种编码是没有意义的,因为String是独立于编码的。

但是,String可以用各种编码的字节数组来表示(例如UTF8或Shift-JIS)。因此,将UTF-8编码的字节数组转换为Shift-JIS编码的字节数组是有意义的。

代码语言:javascript
复制
private static byte[] convertUTF8ToShiftJ(byte[] utf8Bytes) throws IllegalCharsetNameException  {
    String s = new String(utf8Bytes, StandardCharsets.UTF_8);
    byte[] shftJBytes = s.getBytes(Charset.forName("SHIFT-JIS"));
    return shftJBytes;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51854216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档