2010-08-04 69 views
1

我有一個包含我想知道如何該字符串轉換爲使用C#如何爲十六進制的字符串轉換成C#

+1

你的意思是把它轉換成一個整數? 「十六進制」不是一種類型。 – 2010-08-04 05:05:05

+1

沒有「十六進制值」之類的東西。數字是數字,十六進制只是一個表示。即:0xff和255是相同的數字 – NullUserException 2010-08-04 05:05:41

回答

0

鑑於以下格式

10A 
0x10A 
0X10A 

執行以下爲十六進制十六進制值的字符串。

public static int ParseHexadecimalInteger(string v) 
{ 
    var r = 0; 
    if (!string.IsNullOrEmpty(v)) 
    { 
     var s = v.ToLower().Replace("0x", ""); 
     var c = CultureInfo.CurrentCulture; 
     int.TryParse(s, NumberStyles.HexNumber, c, out r); 
    } 
    return r; 
} 
2

有幾種方法可以做到這一點,具體取決於您需要的效率。

Convert.ToInt32(value, fromBase) //即Convert.ToInt32( 「FF」,16)== 255

這是容易的方式轉換成爲Int32。你可以使用Byte,Int16,Int64等。如果你需要轉換成一個字節數組,你可以在字符串解析成字節時咀嚼兩個字符。

如果您需要在快速循環或大字節數組中執行此操作,我認爲this class可能是在純粹託管代碼中執行此操作的最快方法。儘管如此,我仍然樂於提供如何改進的建議。

相關問題