Re: [問題] 藍芽傳送亂碼
To stanleychao, xezct1213兩位大大,
假設 從 device 丟出來的東西長度為 5個byte之ASCII hex,
而你欲取得數值是5個byte中的第二個byte
我會這麼做
int i_value = readBuf [1] & 0xFF; // if readBuf.Length=5, 將 ASCII之hex 轉整數
String s_value = String.valueOf(i_value);//整數在轉換成字串格式
※ 引述《stanleychao ()》之銘言:
: 大家好 小弟我最近在用android的藍芽傳送的東西
: 我使用血氧濃度計使用藍芽傳送到我寫的android app
: 最後把圖畫出來
: 我使用是bluetoothchat的範例去改
: 其中我讀值的一段是
: byte[] readBuf = (byte[]) msg.obj;
: String readMessage = new String(readBuf,0,msg.arg1);
: valueBuffer = readMessage;
: log.v(TAG,"read data:" + valueBuffer);
: 最後valueBuffer觀察的結果都是一些亂碼
: 我在想這是什麼問題?
: 可以請各位幫我嗎
: 超級感謝的
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.105.214.165
推
02/27 15:18, , 1F
02/27 15:18, 1F
→
02/27 15:20, , 2F
02/27 15:20, 2F
你的意思-是從app送出指令至device嗎?0.0?
※ 編輯: sweet00914 來自: 59.105.214.165 (02/27 15:29)
推
02/27 15:36, , 3F
02/27 15:36, 3F
→
02/27 15:37, , 4F
02/27 15:37, 4F
→
02/27 15:37, , 5F
02/27 15:37, 5F
→
02/27 15:38, , 6F
02/27 15:38, 6F
假設要send的byet 長度一樣為5,且送出指令的格式為hex
byte[] out = new byte[5];
out[0] = (byte) 0x你你;
out[1] = (byte) 0x我我;
...
...
out[4] = (byte) 0x它它;
最後mmOutputStream.write(out);
※ 編輯: sweet00914 來自: 59.105.214.165 (02/27 15:43)
推
02/27 20:18, , 7F
02/27 20:18, 7F
→
02/27 20:19, , 8F
02/27 20:19, 8F
→
02/27 20:22, , 9F
02/27 20:22, 9F
推
02/27 20:45, , 10F
02/27 20:45, 10F
→
02/27 21:18, , 11F
02/27 21:18, 11F
推
02/28 00:04, , 12F
02/28 00:04, 12F
→
02/28 00:04, , 13F
02/28 00:04, 13F
討論串 (同標題文章)