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

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

我先考一考你,你说这个字符串(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

相关推荐

  • 县委书记凌晨“7分钟讲话视频”火了「必看:居民反映事件得到解决」

    最近比较忙,今天文雅又抽时间给大家带来了县委书记凌晨“7分钟讲话视频”火了,居民反映事件得到解决干货,以及关于小区,居民,权责,事务管理,不作为的一系列相关内容,希望各位能认真阅读。因为,只有这样才能真正理解和掌握! 根据知情人士称,小区有两千多户人,但由于小区地理位置特殊以及历史遗留问题,导致在一些社会事务管理上权责不明晰。只不过小区物业不作为,导致小区脏…

    2023年1月19日
  • 直击漫天黄沙袭击呼和浩特,能见度小于1000米

    亲爱的小伙伴们,我是本站的新闻播报员明采,在第一时间为您播报最新的事件。近日,直击漫天黄沙袭击呼和浩特,能见度小于1000米成为网络上最受关注的话题之一,引起了不少人的兴趣。下面,就让我为大家讲解一下这个事件的详细经过吧! 3月21日,内蒙古多地出现强沙尘暴天气,呼和浩特市气象台2023年03月21日20时12分发布沙尘暴黄色预警信号:12小时内全市大部地区…

    2023年3月21日
  • 苹果内部有一支神秘研发团队是真的吗 详细介绍:苹果内部团队在研发什么

    各位朋友们大家好,今天卫水新将带领大家深入了解一下苹果内部有一支神秘研发团队是真的吗,苹果内部团队在研发什么的内涵,还有关于苹果,团队,噱头,技术,老毛病等等各种实用干货和最新资讯,如果你刚刚开始学习这个领域,那么这篇文章将会给你带来很大的帮助。 近期有消息称苹果内部有一支神秘研发团队,那就不得不说为什么这个所谓的神秘研发团队能上热搜,可能就是苹果自导自演的…

    2023年4月20日
  • 不想结婚是不是心理有问题 详解:30岁还没结婚的人多吗

    大家好,今天郑尚楠为大家带来了一些关于不想结婚是不是心理有问题,30岁还没结婚的人多吗的专业知识,还有关于问题,心理,女孩子,单身,个人等等各种实用干货和最新资讯,在我整理总结的基础上,我认为这篇文章对于初学者来说是非常有价值的。 不想结婚的人并不是心理问题,而是对感情的慎重,毕竟现在无论新闻还是周围的例子好像让大家对爱情失去了信心,两个人过的那么痛苦,还不…

    2023年5月26日
  • 男士领带打法最简单(三种常见的打领带方法)

    亲爱的小伙伴们,我是本站的情报分析员许兼初,用专业的知识为您分析最新的事件,最近有关男士领带打法最简单(三种常见的打领带方法)的新闻屡屡见诸媒体,引起了不少人的关注。现在,让我们一同来了解一下这个事件的实情,看看发生了什么事情! 之前我们一直跟大家聊的是如何挑选领带,今天就跟大家来聊聊领带的系法。虽然现在出了不少便捷式拉链领带,方便不会系领带的男士也能快速搭…

    2023年4月1日 自媒体
  • 2023年闰二月是不是冷的时间长 必懂:2023闰二月天气会冷得长一点吗

    很高兴又见面了,这次郑苏桐要和大家聊聊2023年闰二月是不是冷的时间长,2023闰二月天气会冷得长一点吗这个话题,以及闰月,时间长,天气,闰年,父母相关的实用干货和最新资讯分享,如果你想要在这个领域中有所成就,那么你需要先从基础开始学习。 闰二月是很特别的一个月份,通常在这个时候会有很多的习俗和讲究。闰二月就是农历里面的第二个二月,这个时候一般都是在三月份了…

    2023年5月5日