有谁知道上面的字符怎么转换成中文啊???
在线等待高手指教!!
14 个解决方案
#1
#2
显然不是UNICODE,这个很有可能是被某种方式编码过了,而且不是UTF8和URLEncode过的,看过,但是不知道。
#3
这个不是java的unicode转义字符吧...
还有的一个有"-"号是怎么回事?
LZ你先把&#x替换程\u
也就是
string s="\u6d77\u8c22\u8c22";
输出看一看是什么.....
还有的一个有"-"号是怎么回事?
LZ你先把&#x替换程\u
也就是
string s="\u6d77\u8c22\u8c22";
输出看一看是什么.....
#4
unicode 2 string
public static String unicode2String(String strUnicode) {
StringBuffer sb = new StringBuffer();
int strLen = strUnicode.length() / 4;
char[] c = strUnicode.toCharArray();
for (int i = 0; i < strLen; i++) {
String str = new String(c, i * 4, 4);
sb.append((char) Integer.parseInt(str, 16));
}
return sb.toString();
}
#5
呵呵,谢谢大家,刚才试过了,确实是被转过码的unicode,
要把“&#x”换成“\u”,";"去掉,变成\u6d77\u8c22\u8c22
要把“&#x”换成“\u”,";"去掉,变成\u6d77\u8c22\u8c22
#6
Java代码:
try {
// Convert from Unicode to UTF-8
String string = "\u6d77\u8c22\u8c22";
byte[] utf8 = string.getBytes("UTF-8");
// Convert from UTF-8 to Unicode
string = new String(utf8, "UTF-8");
System.out.println(string);
} catch (UnsupportedEncodingException e) {
}
try {
// Convert from Unicode to UTF-8
String string = "\u6d77\u8c22\u8c22";
byte[] utf8 = string.getBytes("UTF-8");
// Convert from UTF-8 to Unicode
string = new String(utf8, "UTF-8");
System.out.println(string);
} catch (UnsupportedEncodingException e) {
}
#7
等等给大家加分,结贴!
再次谢谢runshine!
再次谢谢runshine!
#8
不是unicode
#9
这个是 Unicode 编码,用 Commons Lang 包里的工具就能转了。
#10
import org.apache.commons.lang.StringEscapeUtils;
public class Test {
public static void main(String[] args) {
String str = "海-谢谢";
str = StringEscapeUtils.unescapeHtml(str);
System.out.println(str);
}
}
输出结果:
海-谢谢
如果你用到了其他的框架,那么 commons-lang-x.x.jar 估计就在你的 classpath 下了,
如果没有的话,到 apache.org 上去下载: http://commons.apache.org/lang/
#11
用转码工具转,上面意思是 海:谢谢
#12
为什么我解不出来?抛异常:
java.lang.NumberFormatException: For input string: "x6d77"
#13
呵呵,谢谢大家的热烈讨论!
#14
to: tsizhao(12 楼)
应该不会抛异常啊,写错的话最多就是解不出来,也不会抛异常啊。
应该不会抛异常啊,写错的话最多就是解不出来,也不会抛异常啊。
#1
#2
显然不是UNICODE,这个很有可能是被某种方式编码过了,而且不是UTF8和URLEncode过的,看过,但是不知道。
#3
这个不是java的unicode转义字符吧...
还有的一个有"-"号是怎么回事?
LZ你先把&#x替换程\u
也就是
string s="\u6d77\u8c22\u8c22";
输出看一看是什么.....
还有的一个有"-"号是怎么回事?
LZ你先把&#x替换程\u
也就是
string s="\u6d77\u8c22\u8c22";
输出看一看是什么.....
#4
unicode 2 string
public static String unicode2String(String strUnicode) {
StringBuffer sb = new StringBuffer();
int strLen = strUnicode.length() / 4;
char[] c = strUnicode.toCharArray();
for (int i = 0; i < strLen; i++) {
String str = new String(c, i * 4, 4);
sb.append((char) Integer.parseInt(str, 16));
}
return sb.toString();
}
#5
呵呵,谢谢大家,刚才试过了,确实是被转过码的unicode,
要把“&#x”换成“\u”,";"去掉,变成\u6d77\u8c22\u8c22
要把“&#x”换成“\u”,";"去掉,变成\u6d77\u8c22\u8c22
#6
Java代码:
try {
// Convert from Unicode to UTF-8
String string = "\u6d77\u8c22\u8c22";
byte[] utf8 = string.getBytes("UTF-8");
// Convert from UTF-8 to Unicode
string = new String(utf8, "UTF-8");
System.out.println(string);
} catch (UnsupportedEncodingException e) {
}
try {
// Convert from Unicode to UTF-8
String string = "\u6d77\u8c22\u8c22";
byte[] utf8 = string.getBytes("UTF-8");
// Convert from UTF-8 to Unicode
string = new String(utf8, "UTF-8");
System.out.println(string);
} catch (UnsupportedEncodingException e) {
}
#7
等等给大家加分,结贴!
再次谢谢runshine!
再次谢谢runshine!
#8
不是unicode
#9
这个是 Unicode 编码,用 Commons Lang 包里的工具就能转了。
#10
import org.apache.commons.lang.StringEscapeUtils;
public class Test {
public static void main(String[] args) {
String str = "海-谢谢";
str = StringEscapeUtils.unescapeHtml(str);
System.out.println(str);
}
}
输出结果:
海-谢谢
如果你用到了其他的框架,那么 commons-lang-x.x.jar 估计就在你的 classpath 下了,
如果没有的话,到 apache.org 上去下载: http://commons.apache.org/lang/
#11
用转码工具转,上面意思是 海:谢谢
#12
为什么我解不出来?抛异常:
java.lang.NumberFormatException: For input string: "x6d77"
#13
呵呵,谢谢大家的热烈讨论!
#14
to: tsizhao(12 楼)
应该不会抛异常啊,写错的话最多就是解不出来,也不会抛异常啊。
应该不会抛异常啊,写错的话最多就是解不出来,也不会抛异常啊。