请问大家,UTF-8如何转换成汉字 比如:人 这个汉字,它的UTF-8编码为:E4 BA BA ,那么我怎么把这几个字符,转换成:"人"这个汉字呢.大家帮帮我吧. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 String utf;...String gbk=new String(utf.getBytes("utf-8"),"gb2312"); 写了三种不同的方法,楼主可以参考一下:import java.io.UnsupportedEncodingException;import java.net.URLDecoder;public class Test { public static void main(String[] args) throws UnsupportedEncodingException { String str = "40 D0 BF E4 BA BA 35"; // 方法一:采用 URLDecoder.decode() 转换浏览器地址栏中的方法 String newStr = URLDecoder.decode("%" + str.replace(" ", "%"), "utf-8"); System.out.println(newStr); // 方法二:将字符序列转为 byte 数组 String[] strs = str.split(" "); byte[] b = new byte[strs.length]; for(int i=0; i<strs.length; i++){ b[i] = (byte)Integer.parseInt(strs[i], 16); } newStr = new String(b, "utf-8"); System.out.println(newStr); // 方法三:按照 UTF-8 的编码格式,直接解析字符串 strs = str.split(" "); StringBuffer sb = new StringBuffer(); for(int i=0; i<strs.length; i++){ int n1 = Integer.parseInt(strs[i], 16); if ( (n1 >> 5) == 0x6 ) { int n2 = Integer.parseInt(strs[++i], 16); n1 = (n1 & 0x1F) << 6; n2 = n2 & 0x3F; n1 |= n2; } else if ( (n1 >> 4) == 0xE) { int n2 = Integer.parseInt(strs[++i], 16); int n3 = Integer.parseInt(strs[++i], 16); n1 = (n1 & 0x0F) << 12; n2 = (n2 & 0x3F) << 6; n3 = (n3 & 0x3F); n1 = n1 | n2 | n3; } sb.append((char)n1); } System.out.println(sb.toString()); }} 怎么通过jtree叶子结点的TreePath得到叶子的ID 怎么实现下面这个类的克隆? 一段5行小代码,帮我注释一下。 怎样设置背景图片??? JAVA调用MySQL存储过程跟SQL2000一样吗?(高手们帮帮忙吧.跪求了,急用) 好东东 很小白的问题,请大家帮帮忙 Java中有什么方法获取Applet小程序窗口的高和宽 如何能够使用Java操作控制面板中的[Scheduled Tasks]? 我能不能在windows2000下做好java程序,再转到linux上啊? 关于UltraEdit的筛选同一后缀名文件 如何保护代码
...
String gbk=new String(utf.getBytes("utf-8"),"gb2312");
import java.net.URLDecoder;public class Test { public static void main(String[] args) throws UnsupportedEncodingException { String str = "40 D0 BF E4 BA BA 35"; // 方法一:采用 URLDecoder.decode() 转换浏览器地址栏中的方法
String newStr = URLDecoder.decode("%" + str.replace(" ", "%"), "utf-8");
System.out.println(newStr); // 方法二:将字符序列转为 byte 数组
String[] strs = str.split(" ");
byte[] b = new byte[strs.length];
for(int i=0; i<strs.length; i++){
b[i] = (byte)Integer.parseInt(strs[i], 16);
}
newStr = new String(b, "utf-8");
System.out.println(newStr);
// 方法三:按照 UTF-8 的编码格式,直接解析字符串
strs = str.split(" ");
StringBuffer sb = new StringBuffer();
for(int i=0; i<strs.length; i++){
int n1 = Integer.parseInt(strs[i], 16);
if ( (n1 >> 5) == 0x6 ) {
int n2 = Integer.parseInt(strs[++i], 16);
n1 = (n1 & 0x1F) << 6;
n2 = n2 & 0x3F;
n1 |= n2;
} else if ( (n1 >> 4) == 0xE) {
int n2 = Integer.parseInt(strs[++i], 16);
int n3 = Integer.parseInt(strs[++i], 16);
n1 = (n1 & 0x0F) << 12;
n2 = (n2 & 0x3F) << 6;
n3 = (n3 & 0x3F);
n1 = n1 | n2 | n3;
}
sb.append((char)n1);
}
System.out.println(sb.toString());
}
}