Конвертирование HEX array в BYTE array - C#
Формулировка задачи:
Собственно сабж.
Накопипастил.
И слепил это.
Скажите а можно лаконичнее?
//Художественный изгиб преобразования HEX в Byte <commodities><item><id>
string xmlStart ="3C 63 6F 6D 6D 6F 64 69 74 69 65 73 3E 3C 69 74 65 6D 3E 3C 69 64 3E";
xmlStart = xmlStart.Replace(" ", string.Empty); //Удалим пробелы
int[] signature = Enumerable.Range(0, xmlStart.Length / 2).Select(x => Convert.ToInt32(xmlStart.Substring(x * 2, 2), 16)).ToArray();
byte[] toFind = new byte[signature.Length * sizeof(int)];
Buffer.BlockCopy(signature, 0, toFind, 0, toFind.Length);
//Конец художества
Прошу прощения за "кипишь" за гнался я ночью
можно
string xmlStart ="3C 63 6F 6D 6D 6F 64 69 74 69 65 73 3E 3C 69 74 65 6D 3E 3C 69 64 3E";
xmlStart = xmlStart.Replace(" ", string.Empty); //Удалим пробелы
byte[] signature = Enumerable.Range(0, xmlStart.Length / 2).Select(x => Convert.ToByte(xmlStart.Substring(x * 2, 2), 16)).ToArray();Решение задачи: «Конвертирование HEX array в BYTE array»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication8 {
class Program {
static void Main(string[] args) {
string xmlStart = "3C 63 6F 6D 6D 6F 64 69 74 69 65 73 3E 3C 69 74 65 6D 3E 3C 69 64 3E";
byte[] signature = xmlStart.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Select(i => byte.Parse(i, System.Globalization.NumberStyles.HexNumber)).ToArray();
}
}
}