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

时间:2016-04-25 05:06:06

标签: c# .net

我需要以某种方式将“xxx”转换为字节,但我得到了异常

  

发生了'System.FormatException'类型的未处理异常   mscorlib.dll中

     

其他信息:找不到任何可识别的数字。

是否可能将“xxx”值转换为字节?

 byte tr  = (byte)(Convert.ToByte("xxx", 16) << 4);

3 个答案:

答案 0 :(得分:1)

此行(Convert.ToByte("xxx", 16) << 4)将返回integer,在解析为byte时,它不会转换为字符串,这就是它抛出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;
}

Source of Example

答案 1 :(得分:0)

无法转换&#34; xxx&#34;到一个字节。它根本不是任何字节的表示。

答案 2 :(得分:0)

如果需要将字符串更改为字节数组:

 byte[] toBytes = Encoding.ASCII.GetBytes("xxx");