java如何把以unicode编码形式的字符串变成编码前的形式
我有一个字符串,是unicode编码形式的,如Strings1="\\u9996";注意这个字符串的长度是6而不是1,也就是说它并不是一个字符,而是6个字符串那么如何把它...
我有一个字符串,是unicode编码形式的,如String s1 = "\\u9996";注意这个字符串的长度是6而不是1,也就是说它并不是一个字符,而是6个字符串
那么如何把它变成编码前的那个字符呢,实际上\u9996就是“首”这个字的unicode编码形式
不要仅仅局限于URLEncoder啊
\u9996是标准的unicode编码表现形式
打开你的Eclipse,然后查看Character这个类的注释,有下面的一段话:
The set of characters from U+0000 to U+FFFF is sometimes referred to as the
Basic Multilingual Plane (BMP).... 展开
那么如何把它变成编码前的那个字符呢,实际上\u9996就是“首”这个字的unicode编码形式
不要仅仅局限于URLEncoder啊
\u9996是标准的unicode编码表现形式
打开你的Eclipse,然后查看Character这个类的注释,有下面的一段话:
The set of characters from U+0000 to U+FFFF is sometimes referred to as the
Basic Multilingual Plane (BMP).... 展开
4个回答
展开全部
Unicode转 汉字字符串最简单的方式就是直接获取。比如
String cnStr = "\\u9996";
System.out.println(cnStr); 即可获取对应的汉字字符 “首”;
但是每次从输出就不方便了,可以使用以下方法来做转换,直接获取。
代码片段如下:
public static String unicodeToString(String str) {
Pattern pattern = Pattern.compile("(\\\\u(\\p{XDigit}{4}))");
Matcher matcher = pattern.matcher(str);
char ch;
while (matcher.find()) {
ch = (char) Integer.parseInt(matcher.group(2), 16);
str = str.replace(matcher.group(1), ch + "");
}
return str;
}
直接调用这个方法就可以把unicode转换成中文了!
String cnStr = "\\u9996";
System.out.println(cnStr); 即可获取对应的汉字字符 “首”;
但是每次从输出就不方便了,可以使用以下方法来做转换,直接获取。
代码片段如下:
public static String unicodeToString(String str) {
Pattern pattern = Pattern.compile("(\\\\u(\\p{XDigit}{4}))");
Matcher matcher = pattern.matcher(str);
char ch;
while (matcher.find()) {
ch = (char) Integer.parseInt(matcher.group(2), 16);
str = str.replace(matcher.group(1), ch + "");
}
return str;
}
直接调用这个方法就可以把unicode转换成中文了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、URLEncoder.encode("首","unicode");这个方法是把“首”字将按unicode进行编码得到:%FE%FF%99%96
2、URLDecoder.decode("%FE%FF%99%96","unicode")这个是方法是将%FE%FF%99%96按照unicode编码集进行解码。
3、不知道你是用什么方法将“首”字安unicode编译成“\\u9996”?!
2、URLDecoder.decode("%FE%FF%99%96","unicode")这个是方法是将%FE%FF%99%96按照unicode编码集进行解码。
3、不知道你是用什么方法将“首”字安unicode编译成“\\u9996”?!
追问
不要仅仅局限于URLEncoder啊
\u9996是标准的unicode编码表现形式
打开你的Eclipse,然后查看Character这个类的注释,有下面的一段话:
The set of characters from U+0000 to U+FFFF is sometimes referred to as the
Basic Multilingual Plane (BMP)....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2016-05-09
展开全部
unicode还分很多种 ~~~
String s="\\\\u"+String.valueOf((int)(char)'首'); 试试
String s1="9996"); //去掉\\u
System.out.println((char)(byte)Integer.parseInt(s1));
String s="\\\\u"+String.valueOf((int)(char)'首'); 试试
String s1="9996"); //去掉\\u
System.out.println((char)(byte)Integer.parseInt(s1));
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询