编码——纠正网上的大量错误

 

字符是没有编码的。字节的个数受编码的影响。编码是属于文件的。

 

 

例如:String str=”康会来“

这是一段字符,不管你是GBK,还是UTF-8,他都在这。

只有当它被(字符是被动)生成(编码)为byte时,才需要编码格式。不同的编码格式汉字所占字节的个数不同,所以最终文件的大小会受影响。这也是为什么在流操作时,只有在字节流和字符流之间的桥梁中才需要指明编码。InputStreamReaderOutputStreamWriter

 

所以,字符串不存在什么编码转换,网上所有有关字符串编码转换的文章都是错误的。

文件才有编码转换,而且源文件的编码格式和目标文件的编码格式我们都要知道才行。

 

当我们要写入的文件编码为GBK时,我们只需要把str按照gbk编码成的byte[]写入文件即可。

当我们要写入的文件编码为UTF-8时,我们只需要把str按照UTF-8编码成的byte[]写入文件即可。

 

我们的.java文件也是文件,所以也有文件编码。我们在.java中声明String str=”康会来“,所以在生成字节时会按照我们.java文件的编码来编码我们的文件内容。

posted @ 2015-05-28 17:59  小指  阅读(163)  评论(0编辑  收藏  举报