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

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

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

相关推荐

  • 画说丨冬至 – 视频

    亲爱的听众朋友们,我是新闻策划人许睿函,为您呈现最丰富的资讯。最近,画说丨冬至的热度不断攀升,成为了社交媒体上的热门话题之一。现在,让我们一同探寻这个事件的真相,看看到底发生了什么! 冬至大如年 冬至数九寒 冬至夜最长 冬至饺子暖 ——岁在癸卯·冬至 冬至,又称日南至、冬节、亚岁等,兼具自然与人文两大内涵,既是二十四节气中一个重要的节气,也是中国民间的传统祭…

    自媒体 2023年12月22日
  • dq冰淇淋蛋糕1200g是几寸 详解:dq冰淇淋蛋糕1200g多大

    哈喽,小伙伴们你们好,今天陈厚财为大家整理了一些关于dq冰淇淋蛋糕1200g是几寸,dq冰淇淋蛋糕1200g多大的经验,还有关于蛋糕,冰淇淋,冰袋,主厨,味道这些的实用干货和最新内容分享,在这篇文章中,我会为初学者提供一些学习的方法和技巧,希望能够帮助你更好地学习。 dq冰淇淋蛋糕是比较受欢迎的一款蛋糕,它的口味比较丰富,味道香醇可口,深受人们喜欢。dq冰淇…

    2023年3月24日
  • 元宵保存冷冻还是冷藏保存好 详细介绍:元宵怎么放冰箱保存不会坏

    大家好,今天沈婷要和大家分享一些关于元宵保存冷冻还是冷藏保存好,元宵怎么放冰箱保存不会坏的心得体会,还有关于冰箱,食物,早餐,豆瓣酱,坚果这些的实用干货和最新内容分享,阅读这篇文章之后,我相信你会更加深入地理解这个领域的基础知识。 元宵是每年正月十五比较受欢迎的一种食物,它的吃法比较多,大多数人都会用水煮着吃,味道很不错,深受人们喜欢。元宵一般可以放冰箱低温…

    2023年5月28日
  • 派出所回应杭州高空扔狗事件,狗狗目前已被好心业主带去火化

    小伙伴们你们好,我是本站新闻记者杨俊成,最近有关派出所回应杭州高空扔狗事件,狗狗目前已被好心业主带去火化的报道和讨论不断,吸引了众多网民的目光。现在就请跟随我,一同探寻这个事件的真相吧! 只因为情侣吵架,就将狗从八楼丢出。 就在5月4日,事情发生在浙江杭州,一位网友爆料自己小区8楼的情侣吵架,两人毫不犹豫将狗丢了出去,既是虐待动物,又是高空抛物。 情绪不稳定…

    2023年5月6日
  • 任正非的女儿为什么姓孟:最新详解孟晚舟姓孟的原因

    HI,小伙伴们你们好,今天冯寿章比较忙,抽个时间来说下关于任正非的女儿为什么姓孟,详解孟晚舟姓孟的原因,以及关于儿女,子女,老爷子这些的相关干货,这篇文章对新手朋友来说是比较重要的,因为涉及到各个方面,阅读完你一定能有所收获! 华为任正非的三个儿女,为啥一个姓任,一个姓孟,还有一个姓姚? 关于任正非老爷子,我们都知道,他是华为的创始人,而且非常让人敬佩的一点…

    2022年12月7日 自媒体
  • 醪糟汤圆可以微波炉加热吃吗 附:醪糟汤圆用微波炉加热会爆炸吗

    哈喽,大家好,今天赵奕凝想和大家分享一些醪糟汤圆可以微波炉加热吃吗,醪糟汤圆用微波炉加热会爆炸吗的相关知识,还有醪糟,汤圆,微波炉,面团,微波的一些实用干货和最新内容分享,我希望这篇文章可以为初学者提供一个很好的入门指南,让你更好地了解这个领域。 醪糟汤圆就是用米酒和汤圆制作的一种甜汤,它吃起来香甜可口,软软糯糯的,味道很不错,深受人们喜欢。醪糟汤圆一般是可…

    2023年5月12日