C++ 将奇怪的十六进制电话号码转换为正常数字
我有一个电话号码,表示为:C++ 将奇怪的十六进制电话号码转换为正常数字,c++,c++11,hex,C++,C++11,Hex,我有一个电话号码,表示为:AA A3 AA A3 A7 A9 A7 A4 A9,我想把它转换成普通数字:0301379749?int main() int main() { std::string str = "\xAA\xA3\xAA\xA1\xA3\xA7\xA9\xA7\xA4\xA9"; for(unsigned i = 0; i < str.size(); i++) { if(str[i] == '\xAA') str[i] = '\x0
AA A3 AA A3 A7 A9 A7 A4 A9
,我想把它转换成普通数字:0301379749
?int main()
int main()
{
std::string str = "\xAA\xA3\xAA\xA1\xA3\xA7\xA9\xA7\xA4\xA9";
for(unsigned i = 0; i < str.size(); i++)
{
if(str[i] == '\xAA') str[i] = '\x00';
str[i] = (str[i]&'\x0F') + '0';
}
//or
std::for_each(str.begin(), str.end(), [](char &c)
{
if(c == '\xAA') c = '\x00';
c = (c&'\x0F') + '0';
});
cout << str << endl;
return 0;
}
{
std::string str=“\xAA\xA3\xAA\xA1\xA3\xA7\xA9\xA7\xA4\xA9”;
for(无符号i=0;iintmain()
{
std::string str=“\xAA\xA3\xAA\xA1\xA3\xA7\xA9\xA7\xA4\xA9”;
for(无符号i=0;i cout您的数字似乎偏移了0xA0,数字“0”表示为10而不是0(0xA0+10=0xAA)
因此,对于每个数字,减去0xA0,然后取模10:
const unsigned int digit = (weirdHexValue - 0xA0) % 10;
借用@hidayat的一些代码,下面是一个如何转换的示例:
int main()
{
std::string str = "\xAA\xA3\xAA\xA1\xA3\xA7\xA9\xA7\xA4\xA9";
std::for_each(str.begin(), str.end(), [](char &c)
{
c = '0' + (c - 0xA0) % 10;
});
cout << str << endl;
return 0;
}
intmain()
{
std::string str=“\xAA\xA3\xAA\xA1\xA3\xA7\xA9\xA7\xA4\xA9”;
std::for_each(str.begin()、str.end()、[](char&c)
{
c='0'+(c-0xA0)%10;
});
cout您的数字似乎偏移了0xA0,数字“0”表示为10而不是0(0xA0+10=0xAA)
因此,对于每个数字,减去0xA0,然后取模10:
const unsigned int digit = (weirdHexValue - 0xA0) % 10;
借用@hidayat的一些代码,下面是一个如何转换的示例:
int main()
{
std::string str = "\xAA\xA3\xAA\xA1\xA3\xA7\xA9\xA7\xA4\xA9";
std::for_each(str.begin(), str.end(), [](char &c)
{
c = '0' + (c - 0xA0) % 10;
});
cout << str << endl;
return 0;
}
intmain()
{
std::string str=“\xAA\xA3\xAA\xA1\xA3\xA7\xA9\xA7\xA4\xA9”;
std::for_each(str.begin()、str.end()、[](char&c)
{
c='0'+(c-0xA0)%10;
});
AA(16)=A(16)*16(10)+A(16)=10(10)*16(10)+10(10)=170(10)等等。数字是否保存在内存中?如果是,如何保存?是字符数组/指针?还是保存在文件中?还是应该在提示中输入数字?AA(16)=A(16)*16(10)+A(16)=10(10)*16(10)+10(10)=170(10)以此类推。数字是否保存在内存中?如果是,如何保存?它是字符数组/指针?还是保存在文件中?还是应该在提示符中输入数字?这正是我要找的。这正是我要找的