簡體   English   中英

如何從一個字節的字符串表示形式創建一個字節

[英]how to create a byte from string representation of a byte

我的工作項目(用java 2 EE web應用),我需要發送OutputStream一個上COM端口,在數據類型OutputStreambyte[]這一個字節的數據是目標硬件的地址,該地址我正在與交流。 問題是用戶必須在網頁中提供硬件地址。 那么如何將一個字節的字符串表示形式轉換為真實byte呢? 我希望以下代碼可以使問題更加生動

String data1 = "0xA1";
String data2 = "0xAB";

我需要將以下行放在OutputStream中。

byte[] b = new byte[]{0xA1,0xAB};

有人說使用org.apache.commons.codec.binary.Base64可以解決問題,但是我沒有任何線索。 先感謝您。

這很容易:

byte b = Integer.decode("0xA1").byteValue();

鏈接到javadoc

您可以使用以下方法將String轉換為其字節值表示形式,但是您只需要發送String的一部分而不發送“ 0x”

public static byte convertStringToByte(String str){
    return (byte)Integer.parseInt(str, 16);
}

如果您想自己做,而不是通過函數調用來做,
像下面那樣做

獲取ASCII值
將其除以2收集提醒(將為1或0)
最后顛倒整個順序

例如,對於十進制32,您應獲得0100000

如果要初始化COM端口,還可以使用一些序列(ASCII序列)
直接代替二進制,請查閱手冊。

暫無
暫無

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

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