[英]how to create a byte from string representation of a byte
我的工作項目(用java 2 EE web應用),我需要發送OutputStream
一個上COM
端口,在數據類型OutputStream
是byte[]
這一個字節的數據是目標硬件的地址,該地址我正在與交流。 問題是用戶必須在網頁中提供硬件地址。 那么如何將一個字節的字符串表示形式轉換為真實byte
呢? 我希望以下代碼可以使問題更加生動
String data1 = "0xA1";
String data2 = "0xAB";
我需要將以下行放在OutputStream中。
byte[] b = new byte[]{0xA1,0xAB};
有人說使用org.apache.commons.codec.binary.Base64
可以解決問題,但是我沒有任何線索。 先感謝您。
您可以使用以下方法將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.