美文网首页
[ 编码 ]UTF-8 YYDS

[ 编码 ]UTF-8 YYDS

作者: 一个好汉 | 来源:发表于2021-08-28 11:36 被阅读0次

    编码 用各种字符集记录会是一个怎么样的结果呢
    GBK是支持 ASCII 但是不兼容 ISO8859-1
    如果需要支持更多国际化的符号 我们还是需要使用UTF-8

    这里使用 GBK 编码 ð_µ
    结果为 3f5f3f
    ð 为 ISO8859-1 中的一个字符
    但是咱GBK不支持呀 那就返回 3f吧
    UTF8说我一点也不虚 都可以

    /**
         * 编码 用各种字符集记录会是一个怎么样的结果呢
         */
        public static void encode() {
            String src = "ð_µ";
            logSomething(src);
    
            src = "中";
            logSomething(src);
        }
    
    /**
         * 记录一个字符在不同字符集的十六进制表现
         * @param src
         */
        private static void logSomething(String src) {
            log.info("src : {}", src);
    
            log.info("ISO_8859_1 getbytes:{}",
                    HexUtil.encodeHexStr(src.getBytes(StandardCharsets.ISO_8859_1)));
            log.info("US_ASCII getbytes:{}",
                    HexUtil.encodeHexStr(src.getBytes(StandardCharsets.US_ASCII)));
            log.info("GBK getbytes:{}",
                    HexUtil.encodeHexStr(src.getBytes(new GBK())));
            log.info("UTF_8 getbytes:{}",
                    HexUtil.encodeHexStr(src.getBytes(StandardCharsets.UTF_8)));
        }
    

    结果
    src : ð_µ
    ISO_8859_1 getbytes:f05fb5
    US_ASCII getbytes:3f5f3f
    GBK getbytes:3f5f3f
    UTF_8 getbytes:c3b05fc2b5
    src : 中
    ISO_8859_1 getbytes:3f
    US_ASCII getbytes:3f
    GBK getbytes:d6d0
    UTF_8 getbytes:e4b8ad

    相关文章

      网友评论

          本文标题:[ 编码 ]UTF-8 YYDS

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