當前位置:
首頁 >
c语言字符串转16进制及16进制转字符串
發布時間:2023/12/31
36
豆豆
生活随笔
收集整理的這篇文章主要介紹了
c语言字符串转16进制及16进制转字符串
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一般來說,加密解密的時候,密鑰的生成可能包含一些特殊的不可見字符,為了方便保存,我們可以將字符轉化成16進制
c語言中如何將字符串轉化成16進制,主要用一下函數
一:字符串轉16進制
sprintf((char*)(hex + j), “%02X”, bin[i]);即將一個字符按照%02X格式即16進制輸出
void bin2hex(unsigned char *bin,char *hex,int binlength) {int i = 0;int j = 0;for (i = 0,j = 0; i < binlength; i++, j += 2) {sprintf((char*)(hex + j), "%02X", bin[i]);printf(""+i);} }我們知道,字符串轉16進制按照一個字符用兩個16進制的數字標識,所以原始字符串長度是n,16進制字符串就是2n,示例如下:
char *source="abc"; char hexstr[2*strlen(source)]; bin2hex(source,hexstr,strlen(source))二:16進制轉字符串
這里重點是將兩個16進制轉成一個字符(hexcharToInt(hex[i]) << 4)| hexcharToInt(hex[i + 1]);第一個16進制字符先轉數字然后前移4位拼接第二個16進制字符同樣轉數字,然后強制轉化成char字符。
16進制字符串轉普通字符串,即兩個16進制數轉成一個字符,長度減半。
調用如下:
總結
以上是生活随笔為你收集整理的c语言字符串转16进制及16进制转字符串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VX线报机器人的使用
- 下一篇: 软件测试之验收测试