日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ASCII码转HEX与HEX转ASCII码

發(fā)布時間:2023/12/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASCII码转HEX与HEX转ASCII码 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

ASCII碼轉(zhuǎn)HEX與HEX轉(zhuǎn)ASCII碼

  • 【1】ASCII碼轉(zhuǎn)HEX
  • 【2】HEX轉(zhuǎn)ASCII碼
  • 【4】Qt實現(xiàn)ASCII碼轉(zhuǎn)HEX
  • 【4】Qt實現(xiàn)HEX轉(zhuǎn)ASCII碼

【1】ASCII碼轉(zhuǎn)HEX

ASCII碼轉(zhuǎn)HEX:
【1】 ASCII碼:0-9 --> HEX:0x0-0x9 --> Dec:0-9
【2】ASCII碼:a/A-f/F --> HEX:0xA-0xF --> Dec:10-15

//ASCII碼轉(zhuǎn)HEX: //ASCII碼:0-9 --> HEX:0x0-0x9 --> Dec:0-9 //ASCII碼:a/A-f/F --> HEX:0xA-0xF --> Dec:10-15 uint8_t AsciiToHex(uint8_t Ascii_Byte) { //DebugPrintf("\r\n Input ascii data:%c = Dec%d = 0X%02X",Ascii_Byte,Ascii_Byte,Ascii_Byte);if (Ascii_Byte & 0x80) return Ascii_Byte;//=0if( (Ascii_Byte >= '0')&&(Ascii_Byte <= '9') ){return Ascii_Byte - '0'; //0-9}else if( (Ascii_Byte >= 'a')&&(Ascii_Byte <= 'f') ){return Ascii_Byte - 'a' + 10; //10-15}else if( (Ascii_Byte >= 'A')&&(Ascii_Byte <= 'F') ){return Ascii_Byte - 'A' + 10; //10-15}return Ascii_Byte; }

【2】HEX轉(zhuǎn)ASCII碼

HEX轉(zhuǎn)ASCII碼:
【1】HEX:0x0-0x9 --> ASCII碼:0-9 --> Dec:0-9
【2】HEX:0xa-0xf --> ASCII碼:A-F --> Dec:10-15

//HEX轉(zhuǎn)ASCII碼: //HEX:0x0-0x9 --> ASCII碼:0-9 --> Dec:0-9 //HEX:0xa-0xf --> ASCII碼:A-F --> Dec:10-15 char HexToAscii(uint8_t Hex_Byte) {if( (Hex_Byte>=0)&&(Hex_Byte<=9) ) //變成ascii數(shù)字return Hex_Byte + 0x30;else if( (Hex_Byte >= 10)&&(Hex_Byte <= 15) ) //變成ascii大寫字母return Hex_Byte + 0x37;elsereturn 0xff; }

【4】Qt實現(xiàn)ASCII碼轉(zhuǎn)HEX

quint8 datadef::Fun_ascii2hex(quint8 ascii) {if (ascii & 0x80) return ascii;if (ascii >= '0' && ascii <= '9')return (ascii - '0');else if (ascii >= 'A' && ascii <= 'F') //ascii表示16進(jìn)制,只有0-9 A-Freturn (ascii - 'A' + 0x0A);else if (ascii >= 'a' && ascii <= 'f')return (ascii - 'a' + 0x0A);return ascii; }

【4】Qt實現(xiàn)HEX轉(zhuǎn)ASCII碼

quint8 datadef::Fun_hex2ascii(quint8 hex) {if (hex >= 0x00 && hex <= 0x09)return (hex + '0'); //'0'=0x30else if (hex >= 0x0A && hex <= 0x0F)return (hex - 0x0A + 'A');//強(qiáng)制大寫return 0; } void datadef::Fun_u8Hex2ascii(quint8 hex, quint8 *ascii_buff) {*ascii_buff = Fun_hex2ascii((hex >> 4) & 0x0F);*(ascii_buff + 1) = Fun_hex2ascii(hex & 0x0F); } void datadef::Fun_u16Hex2ascii(quint16 hex, quint8 *ascii_buff) {quint8 i = 0;for (i = 0; i < 4; i++){*(ascii_buff + 3 - i) = Fun_hex2ascii((hex >> (4*i)) & 0x000f);} }

總結(jié)

以上是生活随笔為你收集整理的ASCII码转HEX与HEX转ASCII码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。