#include<stdio.h>
#include <string.h>
#include<algorithm>
#include<cstdlib>
using
namespace
std;
unsigned
char
ch2hex(
char
ch)
{
static
const
char
*hex=
"0123456789ABCDEF"
;
for
(unsigned
char
i=0;i!=16;++i)
if
(ch==hex[i])
return
i;
return
0;
}
char
* solve(
char
*dest,
const
char
*src)
{
int
i=0;
int
cnt=0;
unsigned
char
*d=(unsigned
char
*)dest;
while
(*src)
{
if
(i&1)
{
d[cnt++]|=ch2hex(*src);
}
else
{
d[cnt]=ch2hex(*src)<<4;
}
src++;
i++;
}
return
dest;
}
string tohex(
const
string& str)
{
string ret;
static
const
char
*hex=
"0123456789ABCDEF"
;
for
(
int
i=0;i!=str.size();++i)
{
ret.push_back(hex[(str[i]>>4)&0xf]);
ret.push_back( hex[str[i]&0xf]);
}
return
ret;
}
int
main()
{
cout<<tohex(
"中国人"
)<<endl;
char
dest[24]={0},src[]=
"D6D0B9FAC8CB0D0A"
;
puts
(solve(dest,src));
system
(
"pause"
);
return
0;
}