日期:2014-05-20  浏览次数:20771 次

菜鸟请问下 下面的JAVA程序什么意思 急
能够具体说下这个程序中的   GB2312   还有转国标是什么意思么     好像是转中文的意思么?


public   class   Convert   {
          Convert(){
         
          }
         
          public   static   String   convert1(String   s){//国标转8859
        try{
        return   new   String(s.getBytes( "GB2312 "), "ISO-8859-1 ");
        }catch(Exception   e){return   null;}
        }
         
         
         
        public   static   String   convert2(String   s1){//8859转国标
        try{
        return   new   String(s1.getBytes( "ISO-8859-1 "), "GB2312 ");
        }catch(Exception   e){return   null;}
        }
}


------解决方案--------------------
是一个字符集编码转换的程序。。。一般用jsp写程序页面或者与数据库交互的时候容易出现乱码,所以一般都用new String(s.getBytes( "GB2312 "), "ISO-8859-1 ")解决,上面程序只是将它封装起来而已。。。

GB2312就是我们国家标准的字符编码集。前面的GB就是国标的拼音。
ISO应该是符合国际标准的。。。
------解决方案--------------------
一般是用于网页使用的,因为在JSP中默认显示的字符集是ISO-8859-1的字符集,在这个字符集中的汉字会变成乱码,采用 new String(s.getBytes( "ISO-8859-1 "), "GB2312 "); 可以将字符编码顺序重序组合,由单字节表示的ISO-8859-1编码更改为双字节表示的GB2312编码,就可以在程序中被识别了。
另:GB2312中的GB是我国的国家标准的意思,2312是国家标准的编号,同样属于汉字字符集的还有GBK(GB扩展)和GB18030等国家标准和BIG5(台湾标准)。ISO是国际标准化组织发布的国际标准。
------解决方案--------------------
就是字符集的问题。
楼主可以试试改变网页的编码。比如gbk,gb2312,big5.看看页面变成什么样.


------解决方案--------------------
楼上说的都对
------解决方案--------------------

不论是GB2312还是GBK ,还是ISO-8859-1都是一种字符编码,因为在计算机的世界里只有0和1,我

们要想让他显示字符,就必须遵循一定的规则,否则就会显示乱码。就像楼上几位说的尤其是在

JSP中,编码转换更显示得尤为重要。

GB2312:是大陆使用的一种编码方式。它采用两个字节来表示,每个字节的最高位置1,为了对更

多中文字符的支持,大陆还在GB2312的基础上推出了GBK,可是它是GB2312的增强版。

Bit5:大五码,是台湾地区使用的编码。

Unicode:是ISO将全民界的字符进行了统一的编码,全世界通用。它是2个字节,能表示65536
个字符。

还有UTF-8、UTF-16,ISO-8859-1等很多的编码。至于ISO8859-1这是西方国家常用的一种编码

方式。


有 兴趣可以上百度或google上搜索一下相关的内容,很多的,可以系统的学一下。

不管是什么编码只有一个目的,防止乱码的产生。