在JAVA中,String 里面存的东西都是没有编码格式的,只有向文件流,网络流输出的时候调用getBytes的时候才会杯边骂成不同的格式,一般都是根据系统自带的进行编码,安卓默认的是UTF-8,兼容性很好,但是有的时候我们需要在接收端显示GBK的编码,就会出现乱码,因为UTF-8中是中文三个字节,而GBK中只有两个字节,而转换又不是那么智能,所以就会出乱码, 解决方法就是在每次向输出流写入的时候指定编码格式,代码如下:
ous.write(send.getBytes("GBK"));
这样就可以了。
当然如果有条件的话最好把服务器和客户端都统一成UTF-8这样就不会出现问题了