十六进制转汉字 高分
十六进制转汉字 高分求助
#include "stdio.h" ;
void main()
{
unsigned char data[6] = {0x88,0x12,0x80,0x11,0x90,0x89};
unsigned int china;
int i,j;
for(i = 0;i < 6;i+=2)
{
china = (unsigned char)data[i];
if(data[i] > 0x80)
{
china <<= 8;
china += data[i+1];
//输出
}
china = 0;
}
}
请问 :1、这个程序正确不正确 ?
2、输出的时候应该怎么输出 才能成为汉字?
3、如果有现成的例子当然更好
谢谢 ~~~~~~
------解决方案--------------------
#include "stdio.h" ;
void main()
{
unsigned char data[6] = {0x88,0x12,0x80,0x11,0x90,0x89};
unsigned int china;
int i,j;
for(i = 0;i < 6;i+=2)
{
china = (unsigned char)data[i];
if(data[i] > 0x80)
{
china <<= 8;
china += data[i+1];
//输出
}
china = 0;
}
}
请问 :1、这个程序正确不正确 ?
2、输出的时候应该怎么输出 才能成为汉字?
3、如果有现成的例子当然更好
谢谢 ~~~~~~
------解决方案--------------------
- C/C++ code
#include "stdio.h" ; void main() { unsigned char data[] = {"preprocessor我爱中国preprocessor"}; unsigned int china; int i,j,tmp; cout<<data<<endl; for(i = 0;i < sizeof(data);) { china = (unsigned char)data[i]; if(data[i] > 0x80) { tmp=china; china=data[i+1]; china <<= 8; china += tmp; printf("%s",&china); i+=2; } else i+=1; china = 0; } }