#include<stdio.h>
#include<string.h>
int main()
{
char z[20]="我";
char hex[100]="";
//汉字转16进制
unsigned int len=strlen(z);
int i=0;
for(;i<len;i++) //不清楚为什么打印ASCII值>=0x80的字符的16进制就会多6个f
sprintf(hex+2*i,"%x",z[i]&0xff);
printf("%s\n",hex);
//16进制转字符串
len=strlen(hex);
char tem[2]="";
for(i=0;i<len;i+=2){
memcpy(tem,hex+i,2);
sscanf(tem,"%x",z+i/2);
}
printf("%s\n",z);
}
相关文章
- SpringBoot+Netty实现TCP客户端实现接收数据按照16进制解析并存储到Mysql以及Netty断线重连检测与自动重连
- Go字节数组与字符串相互转换
- 如何将字符串“0A”或“0F”转化成16进制的 0x0A 或 0x0F ?在线等待!马上给分!
- 如何将16进制字符串转化成10进制输出
- MFC中如何将16进制字符转化成10进制,包括CString与char*的转换
- 16进制字符串转化成int的问题
- c#与js中10进制16进制的转化,记录防忘
- C/C++中ASCII与Unicode字符串相互转换
- C#字符串与char数组互转!
- C#.NET 中的类型转换和进制装换 ,整型转换16进制、2进制、8进制 及相互转换。