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);
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


