字符 和 十六进制ASCII码转换

zwbhwa 2013-05-23 05:38:45
怎么样把字符 转换成十六进制ASCII码
怎么样把长串数字的每个数字分别转换成十六进制ASCII码
...全文
347 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿先森 2013-11-01
  • 打赏
  • 举报
回复
http://download.csdn.net/detail/allenemo/6487471
onlyhuiyi 2013-05-24
  • 打赏
  • 举报
回复
关于第一个问题 :

/*----------------------------------------------------------------
【函数介绍】: 将ASCII码转化成十六进制表示
【入口参数】: buf ascii码字符串
			  len 字符串buf的长度 
【返回  值】: 返回对应的十六进制的值 
【出口参数】: (无)
-----------------------------------------------------------------*/ 
char*  CTCPClient_CE::ascii2hex(char* chs,int len)  
{  
	//用于接收到的串转换成要用的十六进制串返回主窗口调用
	char hex[16] = {'0', '1', '2', '3', '4', '5', '6', '7', '8','9', 'A', 'B', 'C', 'D', 'E', 'F'};

	char *ascii = (char*)calloc ( len * 3 + 1, sizeof(char) );// calloc ascii
    
    int i = 0;
    while( i < len )
    {
		int b= chs[i] & 0x000000ff;
        ascii[i*2] = hex[b/16] ;
        ascii[i*2+1] = hex[b%16] ;
        ++i;
    }
    return ascii;                    // ascii 返回之前未释放
} 
第二个问题 我理解的是 比如是int型的数字转化成十六进制? 先使用sprintf把int转化为ASCII码,然后再通过上面的函数转化为16进制的ASC码表示
lsjfdjoijvtghu 2013-05-23
  • 打赏
  • 举报
回复
%p把数字以十六进制输出,字符也是数字
图灵狗 2013-05-23
  • 打赏
  • 举报
回复
举例说明一下具体的要求。
引用 楼主 zwbhwa 的回复:
怎么样把字符 转换成十六进制ASCII码 怎么样把长串数字的每个数字分别转换成十六进制ASCII码
赵4老师 2013-05-23
  • 打赏
  • 举报
回复
仅供参考
#include <stdio.h>
#include <string.h>
#include <conio.h>
FILE *fi,*fo;
unsigned int n;
int c;
//-------------------------------------------------------
void main(int argc,char *argv[])
{
    if (argc<3) {
        cprintf("Bin2Hex srcfile desfile");
        return;
    }
    if ((fi=fopen(argv[1],"rb"))==NULL) {
        cprintf("Can not find file %s",argv[1]);
        return;
    }
    if ((fo=fopen(argv[2],"w"))==NULL) {
        fclose(fi);
        cprintf("Can not create file %s",argv[2]);
        return;
    }
    n=0;
    while (1) {
        c=fgetc(fi);
        if (EOF==c) break;
        n++;
        if (1==n)        fprintf(fo,  "0x%02X",c);
        else {
            if (1==n%16) fprintf(fo,"\n0x%02X",c);
            else         fprintf(fo, ",0x%02X",c);
        }
    }
    fcloseall();
    cprintf("OK to Bin2Hex %u bytes.",n);
}

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧