16進製制字串轉換為位元組

2022-05-05 13:03:09 字數 1001 閱讀 7692

最近在專案中遇到乙個小問題,記錄下來以備後用。

語句: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);

字串轉換為16進製制

問題 將乙個字串轉換為16進製制數,例如 12 轉換為0x12,12345678 轉換為0x12345678。注意 轉換前每乙個字元占用乙個位元組,轉換後兩個數字占用乙個位元組,如 12345678 占用8個位元組,轉換後占用四個位元組 0x12,0x34,0x56,x078.實現 include ...

python中16進製制字串轉換為對應二進位製流

寫 時遇到了乙個問題 獲得乙個16進製表示的字串,它的type是str,我們又不能在它的前面直接加b,如何將其轉換為對應二進位製流呢?後來找到了解決辦法,主要是使用eval函式。s xe5 xa4 xa7 xe4 xb9 x94 或 s r xe5 xa4 xa7 xe4 xb9 x94 print...

16進製制字串與字串 位元組之間的轉換

1.字串與16進製制字串之間的轉換 字串轉換成十六進製制字串 public static string str2hexstr string str return sb.tostring 十六進製制轉換字串 public static string hexstr2str string hexstr r...