簡體   English   中英

將字節字符串轉換為ASCII

[英]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);

看一下String的Format函數 如果您將格式指定為“%X”,它將以十六進制字符串形式返回

您將不得不遍歷字節數組來轉換每個字節數組,因為上述函數僅接受原始數字類型。

DataInputStream包裝在InputStreamReader中

不推薦使用DataInputStream.readLine()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM