如何将unicode原始编码转化成它代表的字符,急!!! up会不会是两个引号的关系。还有java的汉字编码实在是太软了。什么new String("汉字".getbytes(iso...""),"gb2312")转换代码实在是好像帮不了你,帮你up 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我输入的时候是没有引号的,用jdk的native2ascii.exe可以把本地编码转换成unicode,但是jdk没有提供反向转化的工具! 说错了,我对native2ascii也是刚知道,可以这样利用native2ascii -reverse 就可以实现unicode到本地码的转换了,但是我很想知道编程实现的原理,望不吝赐教! import java.net.URLDecoderString oldStr=""//这里是你取得unicode的串。String urlStr=URLDecoder.decode(oldStr); public class Unicode2GB{ public static void main(String[] arg){ try{ String str = "";//这里是你取得unicode的串 str = new String(str.getBytes(),"gb2312"); System.out.println(str); }catch(java.io.UnsupportedEncodingException e){ } }}} 源程序如下://UnicodeTest.javapublic class UnicodeTest{ public UnicodeTest() { } public static String decode(String s) { StringBuffer sb = new StringBuffer(); boolean escape = false; for(int i=0; i<s.length(); i++) { char c = s.charAt(i); switch (c) { case '\\': escape = true; break; case 'u': case 'U': if (escape) { try { sb.append((char)Integer.parseInt( s.substring(i+1,i+5),16)); escape = false; } catch (NumberFormatException e) { throw new IllegalArgumentException(); } i += 4; } else { sb.append(c); } break; default: sb.append(c); break; } } return sb.toString(); } public static void main(String[] args) { // 假设这个字符串是从文件中读取到的 String s = "\\u6CA1\\u6709"; // 转换并打印 System.out.println(decode(s)); }} SSH2问题 关于JAVA的编译问题 求解!!! 内部类中.this的用法,感觉很巧妙 java访问ldap服务器,如何在添加用户时,添加密码,和修改用户密码? 请问File和FileInputStream有什么区别,在读文件的时候,会有什么不同吗? jdk安装的问题 关于Applet的运行问题? 如何让我的浏览器支持最新版的jdk 操作jdbc查询到的结果 jmenu 下拉菜单,位置应该如何 调整? 我的WebLogic Server 6.1启动成功了吗??!!急 在线等待!! 菜鸟问题:java中怎样实现日期的加减?
String oldStr=""//这里是你取得unicode的串。
String urlStr=URLDecoder.decode(oldStr);
public static void main(String[] arg){
try{
String str = "";//这里是你取得unicode的串
str = new String(str.getBytes(),"gb2312");
System.out.println(str);
}catch(java.io.UnsupportedEncodingException e){
}
}
}}
源程序如下://UnicodeTest.javapublic class UnicodeTest
{ public UnicodeTest()
{
} public static String decode(String s)
{
StringBuffer sb = new StringBuffer();
boolean escape = false;
for(int i=0; i<s.length(); i++)
{
char c = s.charAt(i);
switch (c)
{
case '\\':
escape = true;
break;
case 'u':
case 'U':
if (escape)
{
try
{
sb.append((char)Integer.parseInt(
s.substring(i+1,i+5),16));
escape = false;
}
catch (NumberFormatException e) {
throw new IllegalArgumentException();
}
i += 4;
}
else
{
sb.append(c);
}
break;
default:
sb.append(c);
break;
}
} return sb.toString();
} public static void main(String[] args)
{
// 假设这个字符串是从文件中读取到的
String s = "\\u6CA1\\u6709"; // 转换并打印
System.out.println(decode(s));
}}