將字串轉換為與之對應的16進製制字串

2021-08-06 03:22:00 字數 1263 閱讀 1807

在c的程式設計中, 有時需要將字串轉換為對應的16進製制的ascii碼字串並顯示出來。這裡是我參考網上**寫的轉換程式:

該程式分為兩個部分:

一、先將字串轉換為對應的16進製制的數值

int str2hex(char *str,char *hex)

if (0==strlen(str))

while(*str)

*hex = '\0';

return 0;

}

二、在上述**中,用到了將數值型的數值轉換為字元型的數字,其**如下:

char value2hex(const int value)

else

else

} return hex;

}

完整的**如下:

# include

# include

char value2hex(const int value)

else

else

}return hex;

}int str2hex(char *str,char *hex)

if (0==strlen(str))

while(*str)

*hex = '\0';

return 0;

}int main()

當然,還有一種簡單粗暴的方法,便是通過sprintf來進行轉換,但其有乙個限制便是只能乙個乙個字元地進行轉換。

#include

#include

int main()

ps:在第二步中,將整型數值轉換為字元型數值也可通過itoa實現。

上述的轉換程式會存在著一些的缺陷,其無法用於將非字串的資料進行轉換,故另乙個程式編寫來進行轉換,其如下:

static char value2hex(const int value)

else

else

} return hex;

}static int str2hex(char *str, char *hex, char str_len)

if(0==temp_len)

while(temp_len--)

*hex = '\0';

return 0;

}

該程式與之前程式的最大區別在與轉換的結束是以傳入的長度來結束而不是字元的null標誌來結束,從而提高了其使用範圍。

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

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

將數字轉換為字串

在日常程式設計中,我們經常需要將各型別的數字轉換為字串,這裡介紹幾種簡單方法。本文沒有介紹轉換的具體演算法。1.使用巨集轉換常量數字為字串 定義如下的巨集 define to string x x 則在 中就可以將各種型別的數字轉換為字串。這個巨集可以將任意的 中的字串轉換為c語言風格的字串 例 t...

將字串轉換為整數

該問題的知識點 1.對於c 風格的字串來說,結尾標誌位 0 2.將純數字字串轉換為整數,需要依次的拿前乙個字元生成的數字乘以 10 再加上當前字元和 0 的差 3.對於特殊情況的處理 空字元陣列 字串中間有空格,字串前面會有很多空格 字串中間存在不合法字元 字串第乙個非空字元為 或者 對於最大正整數...