国际码和内码的转换在线 区位码转国标码工具
我先考一考你,你说这个字符串(ab一2?仯3?4)有多少个字符?
这时候你也许开始数了,123…9个,没错,确实我们肉眼确实是看到了9个,java代码如下:
文章插图
文章插图
文章插图
文章插图
进入主题
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位编码的在线转换工具推荐阅读
- 养身美容汤的做法
- 无悔入华夏羲和怎么样 无悔入华夏羲和人物介绍
- qq密码找不回来了怎样办
- 微信支付密码忘记了怎样看原密码
- 微信怎么设置支付密码 微信支付密码怎么设置
- 去角质和清洁霜的区别是什么
- 狗和犬的区别 脚趾獠
- 灵芝和什么泡酒对身体好
- 微信怎么绑定手机号码 微信如何绑定手机号码
- 银行按揭贷款和公积金贷款的区别