ASCII和各种进制之间的转换
2017-12-08 18:08
225 查看
#define TOLOWER(x) ((x) | 0x20) #define isxdigit(c) (('0' <= (c) && (c) <= '9') || ('a' <= (c) && (c) <= 'f') || ('A' <= (c) && (c) <= 'F')) #define isdigit(c) ('0' <= (c) && (c) <= '9') //bin2str(signret,out,strlen(signret),16); ASCII转换为16进制 //last char of in must be 0x00 void bin2str(unsigned char* in,char* out,int size,int base) { unsigned char* pt1 = in; char* pt2 = out; do { pt2 += sprintf(pt2,"%02X",*pt1++); size--; }while(*pt1 && size); } //16进制转换为ASCII void str2bin(char* in,unsigned char* out,int size,int base) { unsigned char* pt1 = (unsigned char*)in; unsigned char* pt2 = out; while (isxdigit(*pt1) && size--) { *pt2++ = base * ( isdigit(*pt1) ? *pt1++-'0' : TOLOWER(*pt1++)-'a'+10) + ( isdigit(*pt1) ? *pt1++-'0' : TOLOWER(*pt1++)-'a'+10); } }
在某位老兄的帖子上看到的,觉得很有用,赶紧记下来。
相关文章推荐
- C# 各种进制之间相互转换
- 整数与各种进制之间的转换
- js各种进制数之间的转换
- C#各种进制之间数据转换二进制、八进制、十进制、十六进制
- 各种进制与十进制之间的转换
- 不同进制之间的转换的各种方法
- 不同进制之间的转换的各种方法
- c#中各种进制之间转换
- 高精度各种进制之间转换模板
- C# 各种进制之间相互转换 [ZT]
- 各种进制的字符串与数值之间的互相转换
- VB实现各种进制之间的转换
- C# 各种进制之间相互转换
- Python间各种进制之间的转换
- 嵌入式—各种进制之间的关系及转换、原、反、补码
- 用Python内置函数轻松实现各种进制数之间的转换
- Python3各种进制之间的转换方法
- Java:各种进制的转换、整型和String之间的转换
- 各种进制之间的转换方法
- 各种进制之间的转换