请问\x5d14是什么编码,还有代码详解.(代码详解的80) --QT/C++(小白第一次提问)
老崔涮肉坊 2017-03-30 05:30:16 接的是别人项目,那位离职了,我刚毕业学习的C,对这个不太了解,进入正题:
将对话框中的username和password记录下来,加上url访问服务器.但是中文的不识别,将username记录到config.ini中之后得到的是\x5d14这样的编码,但是英文是正常的.他的数字和utf8和ascll码是一样的但是为啥是\x.这是什么编码
恳请各位大神告知小弟
void Byte2Hex(const unsigned char* src, int len, char* dest) {
for (int i=0; i<len; ++i) {
sprintf_s(dest + i * 2, 3, "%02X", src[i]);
}
}
QString upjm(const QString& username, const QString& password)
{
char mw[512] = {0}, jm[512] = {0}, hex[1024] = {0};
int len = 0;
mw[len] = username.length();
len++;
memcpy(mw+len, username.toLocal8Bit(), username.length());
len += username.length();
mw[len] = password.length();
len++;
memcpy(mw+len, password.toLocal8Bit(), password.length());
len += password.length();
AES_KEY aes;
AES_set_encrypt_key((unsigned char*)"0123456789abcdef", 128, &aes);
for(int i = len; i < sizeof(mw); i++){
mw[i] = rand()%256;
}
len = (len+15)/16*16;
int tmp_len = 0;
while(tmp_len<len){
AES_encrypt((unsigned char*)mw+tmp_len, (unsigned char*)jm+tmp_len, &aes);
tmp_len += 16;
}
Byte2Hex((unsigned char*)jm, len, hex);
return QString(hex);
//return qUtf8Printable(hex);
}