我需要以某种方式将"xxx"转换为字节,但我得到了异常
类型为"系统格式异常"的未处理异常发生在 姆科利布.dll
其他信息:找不到任何可识别的数字。
是否可以将"xxx"值转换为字节?
byte tr = (byte)(Convert.ToByte("xxx", 16) << 4);
这一行(Convert.ToByte("xxx", 16) << 4)
将返回解析为byte
时不可转换为字符串的integer
,这就是它抛出System.FormatException
的原因。
但是已经有一个很好的例子来说明如何将字符串转换为 byte[]。
static byte[] GetBytes(string str)
{
byte[] bytes = new byte[str.Length * sizeof(char)];
System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
return bytes;
}
示例来源
无法将"xxx"转换为字节。它根本不是任何字节的表示形式。
如果您需要将字符串更改为字节数组:
byte[] toBytes = Encoding.ASCII.GetBytes("xxx");