# +-----------------------------------------------------+
# |                                                     |
# |    Uncomment the following line if you are having   |
# |   problems with your default file encoding.  This   |
# |         problem is evident in some locales.         |
# |                                                     |
# +-----------------------------------------------------+
#vmparam -Dfile.encoding=ISO8859_1这是Jbuilder的一点说明,其实windows好像内部编码就是这个。
我看不懂你的问题,不知道想问啥?水平有限,但还是希望能对别人有所帮助。

解决方案 »

  1.   

    2、系统与jvm的io处理,在unix上,java都是单字节方式,而在windows上
    采用双字节的输入。你什么意思,你错了吧!应该死Reader/Writer和InputStream/OutputStream的区别吧,没你说的那回事。
      

  2.   

    gb2312兼容ISO8859_1.
    这是第3句无法继续回答了,走人。
      

  3.   

    看来我没说清楚了。
    其实最直观的就是str.getBytes(String enc)获得的字节数组的编码是不是就是enc编码?如果是,为什么可以直接用new String(str.getBytes("iso-8859-1"),"gb2312")?
      

  4.   

    在windows下是双字节的问题?
        我把windows的默认区域设置改为美国后,jvm的io变成了单字节的方式,因为我显示的串的字符位图的高字节全为0,请问是不是?这是怎么回事,麻烦老兄解释解释
      

  5.   

    你的意思,还是不明白如果new String(byte[]) 则是直接用系统默认的编码
    getBytes()是解码但是你也可以指定编码new String(byte[],"gb2312")如果你在不同系统件或者牵涉网页显示传递,肯定要转换编码
      

  6.   

    (如果new String(byte[]) 则是直接用系统默认的编码
    getBytes()是解码 )这儿的编码和解码指定的charset是指byte字节数组的还是
    字符串的,
    如果是指字节数组的,就不好理解了?
    如果是字符串的,就回到上面的问题了这个字节数组是不是与平台编码无关?