C语言实现字节流与十六进制字符串的相互转换
来源:互联网 发布:农村淘宝网店申请报名 编辑:程序博客网 时间:2024/05/29 19:51
原文出自: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 ; }
阅读全文
0 0
- C语言实现字节流与十六进制字符串的相互转换
- C语言实现字节流与十六进制字符串的相互转换
- C语言实现字节流与十六进制字符串的相互转换
- C语言实现字节流与十六进制字符串的相互转换
- C语言实现字节流与十六进制字符串的相互转换
- C语言实现字节流与十六进制字符串的相互转换
- C语言实现字节流与十六进制字符串的相互转换
- C语言实现字节流与十六进制字符串的相互转换
- C语言实现字节流与十六进制字符串的相互转换
- C语言实现字节流与十六进制字符串的相互转换
- 字节数据与十六进制的相互转换,字符串与十六进制的相互转换
- 在C#语言中十六进制字符串与字节型数组的相互转换
- 字节数组与十六进制字符串之间的相互转换
- 十六进制字节流与字符串的转换
- C语言十六进制数据同字符串的相互转换
- C语言十六进制数据同字符串的相互转换
- C语言十六进制数据同字符串的相互转换
- C语言十六进制数据同字符串的相互转换
- 信号报告 java基础题 switch——case
- HttpClient post请求 发送Json数据
- Postman使用官方文档翻译--14Cookie使用与获取
- day1-Javascript--基础
- JAVA中 Math 类和BigDecimal 类型
- C语言实现字节流与十六进制字符串的相互转换
- 停车场无感支付中的“黑科技
- MySql 报错处理
- 全球范围内,获得TMMi认证的公司有多少家?
- Servlet项目--由身份证号算出年龄
- Android studio 修改modue name
- [NOIP2017模拟]小店购物
- mysql千万级数据库插入速度和读取速度的调整记录。
- 微信getPhoneNumber并后台java解密