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);

  

posted @ 2009-07-15 09:30  Ctrliman  阅读(691)  评论(0编辑  收藏  举报