2015-07-02 22 views
0

我想通過COM端口傳輸十六進制數據。我有一個EditText上Android應用程序在那裏我輸入字符串格式,如:如何使EditText默認爲十六進制Android

AB 54 09 08 D0 E0 E0 E0 E0 

(可以是W/O空間)

我需要它是已經在十六進制格式。到目前爲止,我所要做的:

byte[] dataToSend = new byte[] {(byte)0xAB, (byte)0x54, (byte)0x09, (byte)0x08, (byte)0xD0, (byte)0xE0, (byte)0xE0, (byte)0xE0, (byte)0xE0}; 

(我必須鍵入它手動ATM)

有沒有什麼辦法來表示一個字符串作爲默認十六進制?

+0

你想將字符串轉換爲字節數組或字節數組轉換爲字符串? – krystian71115

+0

我希望我輸入的字符串已經是十六進制格式 –

回答

0

您可以將從EditText收到的字符串傳遞給以下函數。它將返回HEX格式的刺痛。

public String toHex(String arg) 
{ 
    return String.format("%040x", new BigInteger(1, arg.getBytes(/*YOUR_CHARSET?*/))); 
} 

OR

您可以使用此:

import org.apache.commons.codec.binary.Hex; 
... 
... 
String hexString = Hex.encodeHexString(myString.getBytes(/* charset */)); 

http://commons.apache.org/codec/apidocs/org/apache/commons/codec/binary/Hex.html

相關問題