Я конвертирую два свойства string TokenValue
и TokenType
, который является enum TokenType : byte
Я могу преобразовать в массив байтов, используя метод ниже, и разделив два свойства на%.Преобразование части байта [] в Enum
public byte[] ToByteArray()
{
List<Byte> bytes = new List<byte>();
bytes.AddRange(Encoding.ASCII.GetBytes(TokenValue));
bytes.AddRange(Encoding.ASCII.GetBytes("%"));
bytes.Add((byte)this.TokenType);
return bytes.ToArray();
}
Моя проблема пытается преобразовать обратно с помощью:
public void FromByteArray(byte[] value)
{
Regex reg = new Regex("%");
string str = Encoding.UTF8.GetString(value);
string[] fields = reg.Split(str);
if (fields.Count() > 1)
{
TokenValue = fields[0];
TokenType = (TokenType)Encoding.ASCII.GetBytes(fields[1]); //Something along these lines to convert back to the TokenType
}
else if (fields.Count() == 1)
{
TokenValue = fields[0];
}
}
Не знаете, как преобразовать байты обратно в enum TokenType
Заранее спасибо.
Почему вы смешиваете '' Encoding.ASCII' и Encoding.UTF8', как это? Это не имеет никакого смысла. – svick