黑马程序员技术交流社区
标题:
编码与解码问题咨询
[打印本页]
作者:
涐扪①起奮乧
时间:
2013-11-17 15:07
标题:
编码与解码问题咨询
本帖最后由 涐扪①起奮乧 于 2013-11-17 21:58 编辑
import java.util.*;
class EncodeDemo
{
public static void main(String[] args) throws IOException
{
String s = "你好";
byte[] b1 = s.getBytes("GBK");
System.out.println(Arrays.toString(b1));
String s1 = new String(b1,"ISO8859-1");
System.out.println("s1="+s1);//产生乱码
//对s1进行ISO8859-1再次编码
byte[] b2 = s.getBytes("ISO8859-1");
System.out.println(Arrays.toString(b2));
String s2 = new String(b2,"GBK");
System.out.println("s2="+s2);
}
}
复制代码
第一个小问题我这个程序运行后显示
办公室自己46.java:4: 错误: 找不到符号
public static void main(String[] args) throws IOException
^
符号: 类 IOException
位置: 类 EncodeDemo
1 个错误
没找到原因,郁闷死了。。。
第二个问题:GBK和ISO8859-1是两个不同的编码表,里面同一个汉字对应的编码值是不同
对s1进行ISO8859-1再次编码,这一块,为什么再解码一次就会恢复正常?搞不懂。
对第一个小问题,想了半天,偶然间我在主函数上主函数里抛出Exception
public static void main(String[] args) throws Exception加上对
byte[] b2 = s.getBytes("ISO8859-1");这里改成byte[] b2 = s1.getBytes("ISO8859-1");程序就编译成功且运行成功。操,就这个小问题忙了一天,气死我了。
下面接着问主函数上我抛出Exception程序能编译成功而主函数上抛出IOException编译不成功,编译时出现
办公室自己46.java:4: 错误: 找不到符号
public static void main(String[] args) throws IOException
^
符号: 类 IOException
位置: 类 EncodeDemo
1 个错误
作者:
Weix1992
时间:
2013-11-17 16:15
//对s1进行ISO8859-1再次编码
byte[] b2 = s.getBytes("ISO8859-1"); //LZ这里还是S 不是S1 是不是看错了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2