Convert.ToByte 找不到任何可识别的数字



我需要以某种方式将"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");

最新更新