Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java SE 综合讨论区  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 java编码解码问题
ytfinst





发贴: 5
积分: 0
于 2007-04-11 18:41 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
编解码的问题,搞得头都大了.程序如下:
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去解码.那不是解了两次码? ..如果需要还原数组...还原后的数组与原来的数组对称吗?
对数组这里很糊涂啊.望高手解答......




话题树型展开
人气 标题 作者 字数 发贴时间
5190 java编码解码问题 ytfinst 791 2007-04-11 18:41

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   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