2016-12-25 41 views
1

你好,我已經在Java代碼中,我希望把它在C#代碼,但我有一個問題:將Java代碼轉換爲C#代碼(十六進制串到字節陣列)

此代碼(FUNC):

DatatypeConverter.parseHexBinary (temp); 

我正在尋找在C#

更換。另一方面 我有完整的代碼應該這樣做在Java中,但也是我遇到這個代碼的問題:

public static byte [] hexStringToByteArray (String s) 
{ 
    int len ​​= s.Length; 
    byte [] data = new byte [len/2]; 
    for (int i = 0; i <len; i + = 2) 
    { 
     data [i/2] = (byte) ((Character.digit (s.charAt (i), 16) << 4) 
            + Character.digit (s.charAt (i + 1), 16)); 
    } 
    return data; 
} 

的問題是,編譯器不能識別

Character.digit (s.charAt (i) 

任何幫助表示讚賞。謝謝!

+0

我想你用'谷歌translate'從希伯來語最後一行。對? :P – ItamarG3

+0

天才!!!!!!!!! – matan

+0

我住在Modiin,順便說一句。 (我現在也試圖回答你的問題) – ItamarG3

回答

0

要將hex字符串轉換爲byte數組,你可以使用:

public static byte[] HexStringToByteArray(string s) 
{ 
    int len = s.Length; 
    byte[] data = new byte[len/ 2]; 
    for (int i = 0; i < len; i += 2) 
    { 
     data[i/2] = Convert.ToByte(s.Substring(i, 2), 16); 
    } 
    return data; 
} 
相關問題