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

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

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

相关推荐

  • 神十七乘组空间站吃播健身上新 – 视频

    大家好,我是特约报道员何静慧,今天给大家带来一篇最新的报道,近日,有关神十七乘组空间站吃播健身上新的报道引起了网友们的强烈关注,就让我接下来为您揭晓这个事件的具体详情! 原标题:神十七乘组空间站吃播健身上新 2024年,中国载人航天工程将持续迎来新的挑战和任务。天舟七号货运飞船任务在即,神舟十七号航天员乘组整理空间站内各类物资货包,高效收纳,为后续任务做好准…

    自媒体 2024年1月15日
  • 三亚解除全域临时静态管理「详细讲解:三亚疫情最新消息解封」

    最近比较忙,今天周丹晴又抽时间给大家带来了三亚解除全域临时静态管理,三亚疫情最新消息解封干货,还有疫情,静态,核酸,场所,最新消息等等等各种相关干货内容,成功的路上不会一帆风顺,每一个成功的背后都有一个惊人的故事。 9月15日,三亚发布最新消息,从9月15日12时起,三亚解除全域临时静态管理,这是三亚市民封控以来最期待到来的一天,那么现在三亚疫情情况如何呢?…

    2023年1月11日
  • 公安部:车检周期10月1日起放宽「新手必看:小车几年一检」

    大家好,今天杨剑锋给大家讲解下关于公安部:车检周期10月1日起放宽,小车几年一检的事情,还有关于周期,公安部,摩托车,汽车,上线等一系列的内容,思路决定出路,确实,这个真的很重要,希望能帮到你! 据媒体报道,从10月1日起,我国将进一步放宽私家车检验周期。此消息一经报道,立刻引发舆论的关注。很多车主朋友好奇,车检周期怎么放宽?是几年一检?下面,我们一起来具体…

    2023年1月12日
  • 2023年的春分是几月几日星期几 秒懂:春分到了意味着什么

    很高兴再次和大家见面,今天皓裕要和大家讨论一下2023年的春分是几月几日星期几,春分到了意味着什么这个话题,还有星期,节气,太阳光,赤道,自然的一系列实用干货分享和技巧,这篇文章将会为初学者提供一些实用的方法和技巧,帮助你更好地理解这个领域。 二十四节气能让人感知自然的韵律,真切地体会到融入自然、与自然和谐相处的亲密,这不眼见着就要春分了,由于该节气每年时间…

    2023年5月22日
  • 这个春节与“小雪团”赴一场热情洋溢的青春之约 – 视频

    大家好,我是特约报道员郑雨田,今天给大家带来一篇最新的报道,最近,这个春节与“小雪团”赴一场热情洋溢的青春之约的热度不断攀升,成为了社交媒体上的热门话题之一。下面,就让我为大家讲解一下这个事件的详细经过吧! 原标题:这个春节与“小雪团”赴一场热情洋溢的青春之约 随着“十四冬”脚步临近,志愿者的工作也越来越忙碌起来。为支援家乡举办体育盛会,呼伦贝尔学院近千名大…

    自媒体 2024年1月13日
  • 特朗普称破坏北溪的不是俄罗斯 详细介绍:北溪事件的来龙去脉

    很高兴再次和各位见面,今天钱自强将为大家介绍一些关于特朗普称破坏北溪的不是俄罗斯,北溪事件的来龙去脉的知识,还有关于管道,事件,天然气,不是,国际这些的实用干货和最新内容分享,在成功的路上,没有什么比清晰的思路更重要的了。希望我的分享能够为你们的成功带来一些帮助和指导! 当地时间2月24日,美国前总统特朗普在接受采访时称,破坏北溪的不是俄罗斯。特朗普还表示,…

    2023年4月21日