[英]Convert a String of bytes into ASCII
我正在連接到藍牙設備,該設備會回答一些發送給我的參數,但是作為響應,我從這樣的套接字讀取了信息:
String data = dIn.readLine();
dIn是:
DataInputStream dIn = new DataInputStream(socket.getInputStream());
事實是我收到了數據,但這是在字符串上讀取的字節數組。 如何將包含字節數組的字符串轉換為具有正確十六進制值的字符串?
先感謝您。
目前尚不清楚您是要實際解碼以字節數組形式獲取的文本字符串,還是要使用任意二進制數據的文本表示形式(十六進制)。 第一次使用:
String text = new String(data, 0, data.length, "ASCII");
對於第二個,您可以使用類似Apache Commons Codec的東西:
String text = Hex.encodeHexString(data);
將DataInputStream
包裝在InputStreamReader中 。
不推薦使用DataInputStream.readLine()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.