Linux下16进制转字符串(中文)

void XtoUtf8(const char* src,char* desStr)
{
//src = "\\xE5\\x8C\\x97\\xE4\\xBA\\xAC"
	if(*src != '\\')
		return;
	int des[200] = {0};
	int i = 0,j = 0;
	while(*(src+i) != '\0')
	{
		char buf[5] = {'\0'};
		strncpy(buf,src+i,4);
		sscanf(buf,"\\x%x",&des[j]);
		sprintf(desStr,"%s%c",desStr,des[j]);
		i += 5;
		++j;
	}
}

Linux可以使用命令 echo -e ‘\xE5\x8C\x97\xE4\xBA\xAC’ 验证转换的字符串是否正确

你可能感兴趣的:(Linux,linux)