Java如何将一个字符串转换为Unicode呢?
今天接领导需求,需将一个字符串转换为相应的Unicode,那么我们该如何操作呢? 下文将通过示例的方式,讲述具体的实现方式,如下所示:
public static void main(String[] args) throws UnsupportedEncodingException { // 获取unicode码的几种方式 // 第一种 System.err.println("第一种 toCodePoints"); String str= "中国Java"; int[] asds = StringUtils.toCodePoints(str); for (int asd : asds) { System.err.println("int整型:"+asd); String x = Integer.toHexString(asd); if (x.length() <= 2) { x = "\\u00" + x; } else { x = "\\u" + x; } System.err.println("unicode码" + x); } //第二种 System.err.println("第二种-----getBytes"); byte[] bytes = str.getBytes("unicode"); list<Object> list = new ArrayList<>(); for (byte aByte : bytes) { System.err.println("byte字节:"+aByte); String x = Integer.toHexString(aByte); if ((-2 != aByte) && (-1 != aByte)) { list.add(x); } } for (int i = 0; i < list.size(); i = i + 2) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append(list.get(i)); stringBuilder.append(list.get(i + 1)); if (stringBuilder.length() < 4) { for (int j = 0; j < 4 - stringBuilder.length(); j++) { stringBuilder.insert(0, "0"); } } System.err.println("unicode码" + "\\u".concat(stringBuilder.toString())); } // 第三种 System.err.println("第三种-----toCharArray"); char[] chars = str.toCharArray(); for (char aChar : chars) { System.err.println("char字符:"+aChar); String x = Integer.toHexString(aChar); if (x.length() <= 2) { x = "\\u00" + x; } else { x = "\\u" + x; } System.err.println("unicode码" + x); } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。