2016-12-25 40 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; 
} 
相关问题