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

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

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

相关推荐

  • 女孩减肥去世 体重仅24.8公斤!科普神经性厌食危害

    大家好,我是本站的观察员秦熙悦,近期关注到了一些重要的事件,最近有一则女孩减肥去世 体重仅24.8公斤!科普神经性厌食危害引发了大家的广泛关注,成为了网络上的焦点话题,下面,就让我为大家讲解一下这个事件的详细经过吧! 出于爱美之心,一些女生会选择节食减肥,但在减肥时要注意力度,不能以自己的身体健康为代价。 据报道,今年3月份,深圳市儿童医院接到东莞一医院求助…

    2023年5月24日
  • 哪些小额贷款好借钱额度高「秒懂:这几款记得收藏好」

    首先,郑尹滔感谢你能坚持经常过来关注我!下面我就来说说哪些小额贷款好借钱额度高,这几款记得收藏好,还有关于额度,工行,贷款,小额贷款,都会这些的内容,其实这个内容对于新手来说还是挺重要的,因为涉及面很大。如果你认真读了,一定会有所收获! 很多朋友在急需用钱的时候,会因为心态紧迫,所以不管是什么贷款平台,都会点点、借一借。但是,如果网上贷款点多,信用调查就会变…

    自媒体 2023年2月2日
  • 爱是不能忘记的个人感悟「新手必看:爱是不能忘记的赏析现代文学」

    小伙伴们哈喽,这次其他的郑晋然就不说了,主要就是来讲讲爱是不能忘记的个人感悟,爱是不能忘记的赏析现代文学,以及关于反义词,现代文学,个人,存在,字面等等各种相关干货,经过我各种整理总结之后,决定写下这篇文章分享给大家。 朋友问我,道:“书,你觉得爱的反义词是恨吗?” 想了一会,回道:“按字面的意思,倒也可以这样理解,但如果真的从更深一层次的认知来理解的话,我…

    2023年1月26日 自媒体
  • 益力奥:这样写你的商业策划文案更有说服力!

    Hi,大家好,美好的一天从这里开始,今天主要讲解益力奥:这样写你的商业策划文案更有说服力!,以及关于文案,用户,产品的一系列相关内容,认真阅读完,把我想表达的思路完全理解,相信你很快就可以掌握! 我们在写文案,往往会掉进一个误区——你自认为说出了产品的核心卖点,但是用户看了却不为所动。 你会说行业内的专业术语,看似是很专业,用户反而看不懂;或者使用行业人士熟…

    自媒体 2022年10月23日
  • 九寨沟3月天气「必看:九寨沟几月份去最好」

    大家好,很高兴又和你见面了,感谢你能经常过来支持朱乐垚,这次我们就来聊聊九寨沟3月天气,九寨沟几月份去最好,还有关于天气,时间,天气预报这些的内容,希望你们能通过这篇文章很好的掌握其中的技巧,下面我就来为大家全部一一解析! 九寨沟3月天气(九寨沟几月份去最好) 好东西总不会那么轻易获得,需要时间,也需要历经考验。事隔7年,想到第一次到九寨沟,仍记忆犹新。她那…

    自媒体 2022年11月24日
  • 淘宝帐号被冻结了怎么解封「附:免费教你解封的方法」

    大家好,今天尤苏泯精心为你准备了干货淘宝帐号被冻结了怎么解封,免费教你解封的方法,以及关于账户,账号,情况等等一系列的相关事项,希望各位能认真阅读。因为,只有这样才能真正理解和掌握! 对于一些使用过淘宝账号的用户来说,可能在登陆的时候也会遇到过一些账号被限制登陆的情况,而当遇到这样的一种情况之后,对于我们想要在淘宝上面进行开店和发货的用户来说其实也是极为不方…

    2022年10月31日