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

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

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

相关推荐

  • 朱晓东被执行死刑:最新参加选秀时获女粉丝喜爱:最新家境清苦生活奢靡

    美好的1天即将在这里开始,下面就由笔者周子涵来一起聊聊朱晓东被执行死刑,参加选秀时获女粉丝喜爱,家境清苦生活奢靡,还有关于妻子,家境,受害人这些的内容,认认真真阅读完,若能把我想表达的全部理解,相信你已经离大牛不远了哈! [ 寂寞网导读 ] 6月4日,上海官方发布杀妻藏尸案凶手 朱晓东 被执行死刑,在法庭描述中,朱晓东表示与妻子结婚后多次产生矛盾,于是产生了…

    2022年10月10日 自媒体
  • 周杰伦歌曲大全100首完整版排行榜「最新周杰伦所有的歌曲」

    大家好,今天许缘源精心为你准备了干货周杰伦歌曲大全100首完整版排行榜(周杰伦所有的歌曲),还有关于歌曲,专辑,东风这些的相关干货文章,其实这个内容对于新手来说还是挺重要的,因为涉及面很大。如果你认真读了,一定会有所收获! 周杰伦歌曲10首经典好听1、《青花瓷》,旋律优美动听,歌词的中国风更是打动了不少听众。 2、《发如雪》,与歌名一般的,这首歌蕴藏的中国风…

    自媒体 2022年9月26日
  • 冰箱冬天一般用几档不结冰 实用:冬天冰箱开哪一档不会结冰

    小伙伴们大家好,今天钱博通将为大家详细介绍一下冰箱冬天一般用几档不结冰,冬天冰箱开哪一档不会结冰的相关信息,还有关于冰箱,食物,功耗,冰箱门,冷藏室等等一系列实用的干货内容,无论你是新手还是老手,思路都是决定成败的关键。希望我的分享能够为你们提供一些思路上的启示和指导。 冰箱是生活中比较常见的一种家用电器,它可以起到很不错的储存作用,可以保存各种各样的食物,…

    2023年6月6日
  • 孙女为生病爷爷自制易拉罐烟花秀:这份用心感动网友

    大家好,我是本站的特派记者钱晨志,在这里与大家分享近期最热门的新闻事件。孙女为生病爷爷自制易拉罐烟花秀:这份用心感动网友最近在网络上引起了广泛的讨论和关注,成为了热门话题之一。下面就让我们一起来揭开这个事件的面纱,了解到底发生了什么吧! 什么是爷孙情深,下面的这个故事或许能让你有所感触。 在短视频平台,四川自贡一位姑娘分享了她和爷爷的平日互动,老人生病出院后…

    2023年5月26日
  • 2023年农村生三胎有补助吗 秒懂:农村三胎有补贴吗

    很高兴再次和各位见面,今天许庆华将为大家介绍一些关于2023年农村生三胎有补助吗,农村三胎有补贴吗的知识,还有关于农村,津贴,政策,家庭,子女等一系列实用干货和最新资讯分享,如果你想要在这个领域中有所成就,那么你需要先从基础开始学习。 三胎政策自开放以来有许多人都时刻关注着它的一些相关政策,不管是城市还是农村政策都是一样的,那么2023年农村生三胎有补助吗?…

    2023年4月17日
  • 2023年春节假期会延长吗「详细介绍:2023春节七天改为15天了吗」

    小伙伴们大家好,今天孙浩原给大家分析下关于2023年春节假期会延长吗,2023春节七天改为15天了吗的事情,以及关于假期,外省,情况,来回,说是等等一系列的相关事项,其他的废话在这里我也不说了,我们直接来进入正题吧! 春节假期延长可以说是近两年大家讨论最多的话题之一,毕竟对于一些在外省打工的朋友们来讲,每每春节到来的时候来回路上就要三四天,7天假期简直不要太…

    2023年1月21日