native的Socket向Android的LocalSocketServer发送汉字乱码的问题

native的Socket发送字节流默认是GB2312的,所以在Java方面需要指定GB2312

byte[] buffer = new byte[50];

StringBuffer strBuf = new StringBuffer();

InputStream input = receiver.getInputStream();

while((len = input.read(buffer)) != -1) {

    String newStr = new String(buffer, 0, len, "GB2312");

    strBuf.append(newStr);

}

 reference:

http://hi.baidu.com/cmdmac/item/9a6cf9dc3254dfe6795daaa9

http://www.cnblogs.com/kenkofox/archive/2010/04/23/1719009.html

http://www.cnblogs.com/uuhua/archive/2010/06/15/1758552.html

 

你可能感兴趣的:(android)