如下代码接收汉字 是最后两个汉字不能正常显示,比如“
中华人民” 只能显示“
中华” “
人民” 不能显示,该如何处理?
//接收代码
private Runnable mRunnableSMS = new Runnable() {
public void run() {
while (true) {
try {
// 读取Socket中的数据,读到的数据放在inPacket所封装的字节数组里。
socketSMS.receive(inPacketSMS);
strReceive = new String(inBuffSMS, 0,
inPacketSMS.getLength(), "gb2312");
// Toast.makeText(ctx, str, Toast.LENGTH_SHORT).show();
Log.e(DEBUG_TAG,
new String(inBuffSMS, 0, inPacketSMS.getLength()));
mHandlerSMS.sendMessage(mHandlerSMS.obtainMessage());
} catch (Exception e) {
Log.e(DEBUG_TAG, e.toString());
}
}
}
};
//显示代码
Handler mHandlerSMS = new Handler() {
public void handleMessage(Message msg) {
super.handleMessage(msg);
// 刷新
try {
// ctx.textViewInfo.setText(strReceive) ;
//ctx.textViewInfo.append(strReceive);
ctx.editTextRXSMS.append(strReceive);
} catch (Exception e) {
Log.e(DEBUG_TAG, e.toString());
}
}
};