StringUtils.toCodePoint(str)方法分析

StringUtils.toCodePoint(str)方法分析


根据我自己的实际操作分析该方法是将str中各个字符的十进制unicode码 并放在int[]数组中.下面是实际代码操作:

    public static void main(String[] args) {
        int[] asds = StringUtils.toCodePoints("a汉字");
        for (int asd : asds) {
            System.err.println("10进制字符" + asd);
            String x = Integer.toHexString(asd);
            System.err.println("16进制字符" + x);
            if (x.length() <= 2) {
                x = "\\u00" + x;
            } else {
                x = "\\u" + x;
            }
            System.err.println("unicode码" + x);
            System.err.println("===");
        }
        System.err.println("unicode转汉字:" + new String(asds, 0, 3));
    }

输出结果:
10进制字符97
16进制字符61
unicode码\u0061
===
10进制字符27721
16进制字符6c49
unicode码\u6c49
===
10进制字符23383
16进制字符5b57
unicode码\u5b57
===
unicode转汉字:a汉字

  • 说明:该方法直接返回的int型数组包含了三个字符的十进制字符,toHexString(int i)将十进制整型转为十六进制整型6c49,将十六进制加上\u再用 String的构造方法(int[],offset,count),该方法传入一个十进制unicode编码,offset表示数组的起始位置,count表示从offset起始位置到结束位置的长度;
  • 输出的unicode码经过自己的实验:
    在这里插入图片描述

感觉说的不是很对,只是凭借代码没有出错而作出的判断,欢迎批评指正!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

b0b0大魔王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值