C语言实现字节流与十六进制字符串的相互转换
2017-11-08 17:18
232 查看
原文出自:http://blog.csdn.net/qq387732471/article/details/7360988
void ByteToHexStr(const unsigned char* source, char* dest, int sourceLen) { short i; unsigned char highByte, lowByte; for (i = 0; i < sourceLen; i++) { highByte = source[i] >> 4; lowByte = source[i] & 0x0f ; highByte += 0x30; if (highByte > 0x39) dest[i * 2] = highByte + 0x07; else dest[i * 2] = highByte; lowByte += 0x30; if (lowByte > 0x39) dest[i * 2 + 1] = lowByte + 0x07; else dest[i * 2 + 1] = lowByte; } return ; } //字节流转换为十六进制字符串的另一种实现方式 void Hex2Str( const char *sSrc, char *sDest, int nSrcLen ) { int i; char szTmp[3]; for( i = 0; i < nSrcLen; i++ ) { sprintf( szTmp, "%02X", (unsigned char) sSrc[i] ); memcpy( &sDest[i * 2], szTmp, 2 ); } return ; } //十六进制字符串转换为字节流 void HexStrToByte(const char* source, unsigned char* dest, int sourceLen) { short i; unsigned char highByte, lowByte; for (i = 0; i < sourceLen; i += 2) { highByte = toupper(source[i]); lowByte = toupper(source[i + 1]); if (highByte > 0x39) highByte -= 0x37; else highByte -= 0x30; if (lowByte > 0x39) lowByte -= 0x37; else lowByte -= 0x30; dest[i / 2] = (highByte << 4) | lowByte; } return ; }
相关文章推荐
- C语言实现字节流与十六进制字符串的相互转换
- C语言实现字节流与十六进制字符串的相互转换
- C语言实现字节流与十六进制字符串的相互转换
- C语言实现字节流与十六进制字符串的相互转换
- C语言实现字节流与十六进制字符串的相互转换
- C语言实现字节流与十六进制字符串的相互转换
- C语言实现字节流与十六进制字符串的相互转换
- C语言实现字节流与十六进制字符串的相互转换
- C语言实现字节流与十六进制字符串的相互转换
- C语言实现字符串IP与整数型IP的相互转换
- C语言十六进制数据同字符串的相互转换
- javascript实现的字符串与十六进制表示字符串相互转换方法
- javascript实现的字符串与十六进制表示字符串相互转换方法
- C语言中字符串和数字的相互转换实现代码
- C语言十六进制数据同字符串的相互转换
- C语言十六进制数据同字符串的相互转换
- 【转】Java中实现字符串与十六进制编码相互转换
- 【剑指offer】C语言:实现函数可以将一个字符串转换为对应的整数,如+1234输出1234
- c语言编程实现字符串向整数的转换(剑指offer)
- Js字符串与十六进制的相互转换