字符1与数字1
平时没注意,当读取⼆进制流内容时,⽅才意识到这个问题。看段代码:
#include <iostream>
using namespace std;
int main()
{
char *str;
str = "00sffsfds";
int z=*(int*)(str);
printf("%x",z);字符串长度1是什么意思
return0;
}
z=66733030,即str的内存表⽰。
ascii码是针对字符⽽⾔的,我们平⽇⾥说的1,就是内存⾥的1,⽽⾮字符对应的31。当读取⼆进制流时,我们直接⽤整型变量去获取即可,根本不⽤画蛇添⾜地去转换。之前那个证书解析的代码,由于我曾经的误解,代码⾥分析⼆进制流时很是繁琐累赘,不堪⼊⽬。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论