我有一個包含某些數據的文件(例如,「00927E2B112DB958 ......」)。該數據是以ASCII形式表示的字節。字節爲8位,所以2個ASCII字符映射到需要進入最終輸出緩衝區陣列的每個字節。將包含ASCII字節表示的文件轉換爲實際字節的最佳方法C#.NET
這樣做的最好方法是什麼?
編輯:我想要做的是從字符串看起來像「00DFFF」,以字節數組{0x00,0xDF,0xFF},例如。我想這個不清楚。
謝謝!
我有一個包含某些數據的文件(例如,「00927E2B112DB958 ......」)。該數據是以ASCII形式表示的字節。字節爲8位,所以2個ASCII字符映射到需要進入最終輸出緩衝區陣列的每個字節。將包含ASCII字節表示的文件轉換爲實際字節的最佳方法C#.NET
這樣做的最好方法是什麼?
編輯:我想要做的是從字符串看起來像「00DFFF」,以字節數組{0x00,0xDF,0xFF},例如。我想這個不清楚。
謝謝!
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;
}
謝謝,但我想要做的是從ASCII輸入轉到字節數組輸出。 – chris12892
噢好吧,那應該是一個簡單的修改。 –
我做了修改。如果你總是想要一個數組,使它成爲'return bytes.ToArray();'並且改變方法的返回類型。 –
http://stackoverflow.com/questions/321370/convert-hex-string-to-byte-array –
它是十六進制的ASCII表示,必須以陣列被轉換成真實字節。 – chris12892
請定義轉換應該以何種方式「最好」(漂亮的代碼,短代碼,最少的內存,最快的...)或從標題中刪除「最佳」(並避免將來)。 –