我正在转换两个属性string TokenValue
,我可以使用以下方法将其转换为字节数组,并用 % 分隔这两个属性TokenType
。enum TokenType : byte
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
致谢。