美文网首页
关于字符串出现的乱码问题

关于字符串出现的乱码问题

作者: T__J | 来源:发表于2020-06-29 08:32 被阅读0次

    在字符串的编码解码过程中,往往会出现乱码,那么遇到这种问题,一般怎么解决?

    需要记住几个要点:

    1:关于getBytes(),记住一定要指定编码格式getBytes("utf-8")这种

    2:getBytes()和new String()一定是成对出现的,因此一定要使用new String("utf-8")

    3:getBytes怎么理解?把字符串中的每一个char转成不同编码格式表示的二进制,英文字母还好,汉字这种,不同的编码格式往往长度不一样,例如

    System.out.println(Arrays.toString("月".getBytes("gbk")));--转化为[-44, -62],长度为2

    System.out.println(Arrays.toString("月".getBytes("utf8")));--转化为[-26, -100, -120],长度为3

    而应为是一样的,因此纯英文不会出现乱码:

    System.out.println(Arrays.toString("A".getBytes("gbk")));--转化为[65]

    System.out.println(Arrays.toString("A".getBytes("utf8")));--转化为[65]

    4:toCharArray方法是获取每一个char,注意区分。

    相关文章

      网友评论

          本文标题:关于字符串出现的乱码问题

          本文链接:https://www.haomeiwen.com/subject/tjtauctx.html