0
如果輸入字符串數據,我的代碼會正確地發送/讀取數據。如果數據是十六進制,雖然我的串行發送/讀取數據正確的textview輸出是奇怪的。爲什麼奇怪的符號出現在Android屏幕上?爲什麼奇怪的符號出現在Android屏幕上?
我的輸入:
0067123456789123456789123456FF8E6457DF0215DF820803111111DF820903222222DF820A03333333DF6F3CDFEF0602AAAADFEF0B08BBBBBBBBBBBBBBBBDFEF0E20CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDFEF0402DDDD1D
我接收到的數據的方法:
private void updateReceivedData(byte[] data) throws InterruptedException {
String s = new String(data);
text2.setText("Incoming Mesage = " + s);
SendSerialData(data, data.length);
}
我上Hterm(TRUE)串行輸出:
0067123456789123456789123456FF8E6457DF0215DF820803111111DF820903222222DF820A03333333DF6F3CDFEF0602AAAADFEF0B08BBBBBBBBBBBBBBBBDFEF0E20CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDFEF0402DDDD1D
我的TextView輸出:
��g4Vx�#Eg�4V��dW�߂߂ """߂
333�o<����������������
������������������������������������
它看起來像你有一個字符編碼的問題。看到[這裏](http://stackoverflow.com/questions/1536054/how-to-convert-byte-array-to-string-and-vice-versa) –
謝謝,但它對我沒有用 –