16进制字符串转换为字节

最近在项目中遇到一个小问题,记录下来以备后用。

 语句:

             string str1="2A";

             byte b1 = Convert.ToByte(strMd51);

 错误信息:

              输入字符串的格式不正确。

 解决方式:

              byte b1 = Convert.ToByte(strMd51,16);

函数解释:

    //
    // 摘要:
    //     将指定基数的数字的 System.String 表示形式转换为等效的 8 位无符号整数。
    //
    // 参数:
    //   value:
    //     包含数字的 System.String。
    //
    //   fromBase:
    //     value 中数字的基数,它必须是 2、8、10 或 16。
    //
    // 返回结果:
    //     等效于 value 中的数字的 8 位无符号整数。- 或 - 如果 value 为 null,则为零。
    //
    // 异常:
    //   System.ArgumentException:
    //     fromBase 不是 2、8、10 或 16。- 或 -value,它表示一个非 10 为基的无符号数,前面带一个负号。
    //
    //   System.FormatException:
    //     value 包含的一个字符不是 fromBase 指定的基中的有效数字。如果 value 中的第一个字符无效,异常消息则指示没有可转换的数字;否则,该消息将指示
    //     value 包含无效的尾随字符。
    //
    //   System.OverflowException:
    //     value,它表示一个 10 为基的无符号数,前面带一个负号。- 或 -返回值小于 System.Byte.MinValue 或大于 System.Byte.MaxValue。
    public static byte ToByte(string value, int fromBase);

转载于:https://www.cnblogs.com/henusfs/archive/2009/07/15/1523791.html

发布了8 篇原创文章 · 获赞 4 · 访问量 203

猜你喜欢

转载自blog.csdn.net/weixin_43937283/article/details/105347050