1
我想要使用格式说明符“%.2X”将输入ascii字符串转换为十六进制格式。我在下面粘贴了相同的程序。但是,这个程序在Linux服务器中工作,它提供了不正确的十六进制输出扩展ASCII字符串转换为十六进制格式
#include <iostream>
#include <cstring>
#include <string>
using namespace std;
int main()
{
char *buffer = "<9e>¥/gÿbbbbABCD";
char *newBuffer = new char[strlen(buffer)*2 + 1];
for(int i = 0; i< strlen(buffer); ++i)
{
sprintf(newBuffer+(2*i), "%02x", buffer[i]);
//cout<<"\t"<<newBuffer;
}
cout<<"\t"<<newBuffer;
return 0;
}
O/P:3c39653effff2f67ffff6262626241424344 此扩展的ASCII字符¥和Y是给FFFF FFFF和。
请告诉我如何正确转换。