Java byte数组转换成String 乱码的问题
本帖最后由 zhuyouyong 于 2013-12-16 14:44:58 编辑
代码如下所示
byte[] bytes = new byte[] { 50, 0, -1, 28, -24 };
String sendString = "";
try {
sendString=new String(bytes ,"UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO 尚未处理异常
e.printStackTrace();
}
System.out.println(sendString);
想把字节码数组转换成String类型,用于网络传输,但是转换后发现String都是乱码,webService传输也是报错的,希望大家能帮忙解决。
------解决方案--------------------使用序列化可以么,转换为字符串肯定是不合适的。
------解决方案--------------------
webservice服务端提供的方法签名是什么样子的?感觉byte[]类型应该不会有传输问题的。
------解决方案--------------------你就这么点数据 webservice 完全没问题,我用webservice送过 30万行xml,约有50M大完全没问题.
主要是在编码转换问题上:
byte[] bytes = new byte[] { 50, 0, -1, 28, -24 }; 你才5个字节,如果有汉字会出错的,
utf-8是三字节一个汉字,不信用你汉字转一下: "汉".getBytes("utf-8") 看看是多长.