国际码和内码的转换在线「最新区位码转国标码工具」

今天朱瀚给大家带来了这篇国际码和内码的转换在线,区位码转国标码工具干货,以及关于汉字,内码,字符这些的相关干货,既然来了就别走了,好好的静下心把这篇文章阅读完相信你会有一定的收获哦!

我先考一考你,你说这个字符串(ab一2?仯3?4)有多少个字符?

这时候你也许开始数了,123…9个,没错,确实我们肉眼确实是看到了9个,java代码如下:

汉字,中文,内码互转,unicode编码转换,汉字机内码转换

有没有发现java判断出来的不是9,而是12!!!

那是因为这个字符串中有2个字符ab一2?仯3?4用黄色表示,实际上UTF-8已经满足不了,? 见下图:

汉字,中文,内码互转,unicode编码转换,汉字机内码转换

java的String是使用UTF-16来表示的,U+0000-U+FFFF都ok,但是只要是下列这个区间的字符都无法用常规手段处理,5位内码的,用length都无法正确判断其长度

CJK Unified Ideographs Extension B (U+20000 through U+2A6DD)
CJK Unified Ideographs Extension C (U+2A700 through U+2B734)
CJK Unified Ideographs Extension D (U+2B740 through U+2B81D)
CJK Unified Ideographs Extension E (U+2B820 through U+2CEA1)
CJK Unified Ideographs Extension F (U+2CEB0 through U+2EBE0)

具体也可以查看官方资料 ,了解unicode,UTF-8,UTF-16,UTF-32的区别。

如下图,可以通过Character中的codePointCount来得到字符数量。

汉字,中文,内码互转,unicode编码转换,汉字机内码转换

进入主题

jdk自带的Character类特别好用,汉字转内码,内码转汉字具体功能请参考下面的代码

/**
 * 字符串转16进制内码
 * @param str ab一2?仯3?4
 * @return \u61\u62\u4e00\u32\u2b802\u4eef\u33\u2b82f\u34\u34
 */
public static String stringToCodePoints(String str) {
    StringBuilder stringBuilder = new StringBuilder();
    str.codePoints().forEach(cp -> stringBuilder.append("\u").append(Integer.toHexString(cp)));
    return stringBuilder.toString();
}

/**
 * 内码转汉字
 * @param codePoints \u61\u62\u4e00\u32\u2b802\u4eef\u33\u2b82f\u34\u34
 * @return ab一2?仯3?4
 */
public static String codePointsToString(String codePoints) {
    StringBuilder stringBuilder = new StringBuilder();
    for(String hexCodePoint : codePoints.split("\\u")){
        if(StringUtils.isNotBlank(hexCodePoint)) {
            stringBuilder.append(codePointToString(Integer.parseInt(hexCodePoint, 16)));
        }
    }
    return stringBuilder.toString();
}

/**
 * 十进制转汉字
 * @param cp code point 汉字内码
 * @return
 */
public static String codePointToString(int cp) {
    StringBuilder sb = new StringBuilder();
    if (Character.isBmpCodePoint(cp)) {
        sb.append((char) cp);
    } else if (Character.isValidCodePoint(cp)) {
        sb.append(Character.highSurrogate(cp));
        sb.append(Character.lowSurrogate(cp));
    } else {
        sb.append('?');
    }
    return sb.toString();
}

支持5位编码的在线转换工具

好了,今天就说到这里了,希望对你有帮助,国际码和内码的转换在线「最新区位码转国标码工具」这篇文章让你学习到一些知识的话,那就帮忙分享给你朋友吧!

本文发布者:万事通,不代表寂寞网立场,转载请注明出处:https://www.jimowang.com/p/27176.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 jimowangmail@126.com 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年1月4日 09:17
下一篇 2023年1月4日 09:19

相关推荐

  • 怎么创建自己的网站平台「附:教你免费申请个人网站」

    今天郑文铭给大家带来了这篇怎么创建自己的网站平台,教你免费申请个人网站干货,以及其他关于网站,内容,阿里的一些相关干货,希望你认真看完这篇文章后,能充分理解我想表达的意思。相信你很快就能掌握!你离大牛越来越近了! 我们做过不少网站,从定制开发到使用开源软件(Wordpress, Joomla,Discuz等)为客户搭建网站都有许多案例。 根据建站的用途,实际…

    2022年10月17日
  • 2022国庆节义乌能放孔明灯吗「详细介绍:国庆节义乌哪里能放孔明灯」

    小伙伴们哈喽,这次其他的许奕钒就不说了,主要就是来讲讲2022国庆节义乌能放孔明灯吗,国庆节义乌哪里能放孔明灯,还有关于孔明灯,地方,电线,明火,火灾这些的精品干货文章,只要你每天都能来,我就能每天整理一些不错的干货分享给你们! 中秋已过眼下就剩国庆了,由于该假期结合周末共有7天的小长假,所以很多友友都想着出去玩,义乌便是很多人都想去的,也正这样2022国庆…

    2023年1月10日
  • 2023年社保可以一次性补缴吗 优选:2023年社保可以补缴费吗

    大家好,今天周蓓蓓想和大家分享一些关于2023年社保可以一次性补缴吗,2023年社保可以补缴费吗的见解,以及社保,养老保险,员工,收入,时间相关的实用干货和最新资讯分享,在整理自己的思路之后,我写下了这篇文章,希望能够为大家提供一些有用的建议和指导,让你们更好地把握思路。 社会保险是指一种为丧失劳动能力、暂时失去劳动岗位或因健康原因造成损失的人口提供收入或补…

    2023年5月4日
  • 2023年内蒙古3月份还冷不冷 详细介绍:内蒙古3月份应该穿什么

    哈喽,大家好,今天承宜想和大家分享一些2023年内蒙古3月份还冷不冷,内蒙古3月份应该穿什么的相关知识,还有气温,天气,时候,情况,建议的一系列实用干货分享和技巧,学习任何一门技术都需要耐心和毅力,只有坚持不懈,你才能取得成功。 内蒙古因为草原辽阔,所以很多人都想着趁天气回暖的时候去内蒙游玩一翻,这不眼见着就要三月份了,于是内蒙古3月份还冷不冷成了大家茶余饭…

    2023年4月16日
  • 2023小升初是提前报名还是考完报名 必备:小升初报名了可以选择别的学校吗

    大家好,今天蒋嘉鹏为大家带来一些关于2023小升初是提前报名还是考完报名,小升初报名了可以选择别的学校吗的分享,还有关于学校,学区,初中,孩子,教育局等一系列实用干货和技巧分享,初学者往往会遇到很多困难,但只要你坚持下去,你一定能够克服这些困难。 2023小升初是提前报名还是考完报名是当下大家最为关注的,毕竟随着家长对孩子的教育越加的看重,每每到了小升初的时…

    2023年3月30日
  • 淘宝原单是什么意思「附:教你识别原单的方法」

    很高兴你能坚持经常过来支持笔者:王大庆,今天就来说说关于淘宝原单是什么意思,教你识别原单的方法,以及关于品质,商家,瑕疵的一系列相关内容,如果你是老司机,你可能觉得很简单,但如果你是新手,你可能就不这么想了。 说实话接触这个服装行业那么多年,关于外贸服装这行这几年一直都是乌烟瘴气的,从10年开始“原单”这个词就开始兴起,那时候的市场真干净啊,一抓一大把的原单…

    2022年9月26日