易截截图软件、单文件、免安装、纯绿色、仅160KB

java乱码问题

String str = new String("中".getBytes(),"gb2312");
String temp = new String(str.getBytes(),"utf-8");
String an = new String(temp.getBytes(),"gb2312");
System.out.println(an);


这里为什么输出的an会是乱码么????请哪位大侠帮忙解释下。。谢谢
第一个str可能会出现乱码,这个和Default Encoding有关系,如果当前的编码是gb2312,那么str就是中,如果本地编码不是gb2312,将有可能出现乱码,至少肯定不是‘中’这个字符。
因此,我们在对字符串进行解码的时候,尽量指定编码方式。
好,现在我现在假定本地编码是gb2312,这个时候temp肯定是乱码。一个使用gb2312解码字节数组,用utf8编码的话,肯定是不能解析成正确的字符串的。
如果,temp是乱码,也就是出现几个?,使用本地编码进行解码的时候,是能够被正常解码的,因为本地编码和gb2312对?号的编码的字节一致,因此编码后的an依然是?

mark

引用
第一个str可能会出现乱码,这个和Default Encoding有关系,如果当前的编码是gb2312,那么str就是中,如果本地编码不是gb2312,将有可能出现乱码,至少肯定不是‘中’这个字符。
因此,我们在对字符串进行解码的时候,尽量指定编码方式。
好,现在我现在假定本地编码是gb2312,这个时候temp肯定是乱码。一个使用gb2312解码字节数组,用utf8编码的话,肯定是不能解析成正确的字符串的。
如果,temp是乱码,也就是出现几个?,使用本地编码进行解码的时候,是能够被正常解码的,因为本地编码和gb2312对?号的编码的字节一致,因此编码后的an依然是?


.....路过


相关问答:

java如何控制远程Linux重启

我目前在本地的linux上写了一个swing的界面,想通过这个界面来控制其它电脑的linux重启。
我知道用Runtime.getRuntime().exec("shutdown -r");可以控制本机Linux重启,但是怎么控制远程的linux重启呢? ......

jsp页面获取session的问题 - Java / Java EE

我在jsp页面存上一个session,本页面还可以取出值来.
但是一刷新,或者打开新的页面就取不出值来了.
奇怪的是,我测试另一个程序时候
在jsp页面存上一个session,本页面可以取出值来,刷新或打开新页面值能取出来了.
......

关于jsp论坛 - Java / Web 开发

我现在想用ssh整合来做一个论坛,但数据库方面不行,我主要不会涉及数据库,不知道发帖表,和回帖表要如何设计和区分。不知道谁有一个简单的思路,来设计这些表。谢谢了。
发帖和回帖用同一张表 。发帖 id user ......

JAVA字符流问题

字符流的读和写最终在底层都是通过字节流来完成的吗? 读写文本文件字符流应该就可以了吧。。
各位大哥大姐帮帮忙阿

Java流包括字节流和字符流,字节流通过IO设备以字节数据的方式读入,而字符流则是通过字节流 ......

java applet在html中无法显示

我的java applet 嵌入html后无法显示,而用appletviewer显示正常为什么,还有就是用html converter转化后可以显示,为什么?请大侠赐教!
HTML code:

<HTML>
<HEAD>
<TITLE>TEST.HTML< ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号