C语言 十六进制与ascii码互转
生活随笔
收集整理的這篇文章主要介紹了
C语言 十六进制与ascii码互转
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C語言 十六進制與ascii碼互轉
功能:十六進制與ascii碼互轉
#include<stdlib.h> #include<stdio.h> #include<string.h>unsigned char name[15] = {"1234567890abcde"}; unsigned char name1[15] = {0x31,0x32,0x33,0x34,0x35,0x31,0x32,0x33,0x34,0x35,0x31,0x32,0x33,0x34,0x35}; unsigned char put[15]; unsigned char data[16];//ascii轉16進制 unsigned char char_to_hex(unsigned char char_num) {if ((char_num >= '0') &&(char_num <= '9')){/* code */char_num = 0x30+(char_num - '0');}else if ((char_num >= 'A') &&(char_num <= 'Z')){/* code */char_num = 0x41+(char_num - 'A');}else if ((char_num >= 'a') &&(char_num <= 'z')){/* code */char_num = 0x61+(char_num - 'a');}elsechar_num = 0xff;return char_num; }//16進制轉ascii unsigned char hex_to_char(unsigned char hex_num) {if ((hex_num>=0x30) && (hex_num<=0x39)){/* code */hex_num = '0'+ hex_num - 0x30;}else if ((hex_num>=0x41) && (hex_num<=0x5A)){/* code */hex_num = 'A' + (hex_num - 0x41);}else if ( (hex_num>=0x61) && (hex_num<=0x7A)){/* code */hex_num = 'a' + (hex_num - 0x61);}elsehex_num = 0xff;return hex_num;}void main() {int len;len = strlen(name);for (int i = 0; i < len; i++){/* code */put[i] = char_to_hex(name[i]);}for (int i = 0; i < len; i++){/* code */printf("char_to_hex:0x%02x\n",put[i]);}for (int i = 0; i < len; i++){/* code */data[i] = hex_to_char(put[i]);}//data[15] = '\0';printf("hex_to_char:%s\n",data);system("pause"); }總結
以上是生活随笔為你收集整理的C语言 十六进制与ascii码互转的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: u盘计算机无法,计算机无法识别U盘的问题
- 下一篇: OpenCV灰度图