62,635
社区成员




byte[] before = ...;//GBK数据
String data = new String(before,"GBK");
byte[] result = data.getBytes("UTF-8");
第二种,面向字符编程,这个方式是处理大数据时用的,我就不写了。和6楼的意思差不多。 OutputStream out;
PrintWriter writer = new PrintWriter(out);
writer.write("我爱中国");
writer.close();
但问题是PrintWriter和BufferedWriter这样写都是直接使用系统默认编码方式,你的可能是UTF-8,所以就导致你用了错误的编码方式发送字符串。
解决方法是,在创建Writer时指定字符集,而PrintWriter和BufferedWriter貌似不支持,所以你要用OutputStreamWriter。
OutputStream out;
OutputStreamWriter writer = new OutputStreamWriter(out, "GBK");
writer.write("我爱中国");
writer.close();