2012-06-18 28 views
1

我有一個包含某些數據的文件(例如,「00927E2B112DB958 ......」)。該數據是以ASCII形式表示的字節。字節爲8位,所以2個ASCII字符映射到需要進入最終輸出緩衝區陣列的每個字節。將包含ASCII字節表示的文件轉換爲實際字節的最佳方法C#.NET

這樣做的最好方法是什麼?

編輯:我想要做的是從字符串看起來像「00DFFF」,以字節數組{0x00,0xDF,0xFF},例如。我想這個不清楚。

謝謝!

+1

http://stackoverflow.com/questions/321370/convert-hex-string-to-byte-array –

+0

它是十六進制的ASCII表示,必須以陣列被轉換成真實字節。 – chris12892

+0

請定義轉換應該以何種方式「最好」(漂亮的代碼,短代碼,最少的內存,最快的...)或從標題中刪除「最佳」(並避免將來)。 –

回答

5
private ICollection<byte> HexString2Ascii(string hexString) 
{ 
    var bytes = new List<byte>(hexString.Length/2); 
    for (int i = 0; i <= hexString.Length - 2; i += 2) 
     bytes.Add(byte.Parse(hexString.Substring(i, 2), System.Globalization.NumberStyles.HexNumber)); 
    return bytes; 
} 
+0

謝謝,但我想要做的是從ASCII輸入轉到字節數組輸出。 – chris12892

+1

噢好吧,那應該是一個簡單的修改。 –

+1

我做了修改。如果你總是想要一個數組,使它成爲'return bytes.ToArray();'並且改變方法的返回類型。 –

相關問題