Topic: java编码解码问题

  Print this page

1.java编码解码问题 Copy to clipboard
Posted by: ytfinst
Posted on: 2007-04-11 18:41

编解码的问题,搞得头都大了.程序如下:
Properties pp=System.getProperties();    
pp.put("file.encoding","ISO-8859-1"); //给jvm指字符集.
    int data;
    int i=0;
    byte oo[]=new byte[100];
    while((data=System.in.read())!='q') //当输入q的时候退出.
    {
      oo[i]=(byte)data;
      i++;        
    }
    String str=new String(oo,0,i); //解码成iso
    oo=str.getBytes("ISO-8859-1"); //还原成数组.
    String str1=new String(oo,"GBK");//用GBK去解码字节数组
    System.out.println(str1); //用GBK编码,
各位高手,我的问题是:当用System.in.read()在键盘上读取的时候.是用系统平台下
默认的GBK去解码,然后存放到byte数组里的吗? 如果是,假设此数组长8,如果系统平台下默认的不是GBK,那这个byte数组长度还是8吗?
另外,下面用String去构造一个字符串str的时候,调用指定的iso去解码.那不是解了两次码? ..如果需要还原数组...还原后的数组与原来的数组对称吗?
对数组这里很糊涂啊.望高手解答......


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923