加密与解密------第一章笔记

1.字符集

ASCII码与Unicode字符集

  • ASCII码是一个7位编码标准,共128个字符,最高位总是0
  • Unicode是ASCII码的一个扩展,其使用两个字节进行编码,因此也被称为宽字符集,在unicode中所有字符都是16位的,ASCII码在Unicode下都会被扩充为16位,高位全部填充0

字节序(大端与小端)

字节序:计算机中字节该以什么样的顺序传送
例如将:12345678h写入内存中

存放顺序 1000h 1001h 1002h 1003h
大端 12h 34h 56h 78h
小端 78h 56h 34h 12h

2.Windows系统

Win32 API函数

windows隐藏了底层实现机制,它仅仅向用户提供API函数供用户调用
windows提供了丰富的动态调用库,这些DLL文件通常存放在\Windows\System32
64位windows支持32位程序:
\Windows\SysWOW64文件夹中存放了32位的系统文件,当在64位操作系统中加载32位应用程序时,WOW64建立32位启动环境,同时将cpu切换到32位

虚拟内存

windows下每个进程都有自己的虚拟空间,对于32位进程来说,这个空间大小是4GB,但是虚拟内存并非真正的内存,进程分配的4GB空间仅仅只是地址,并没有对应到实际的物理内存当中去,实际使用过程中需要哪一页才会把这个页调入内存中
应用启动时:

  • 虚拟内存管理器将应用程序代码映射到虚拟地址的某个位置,并且把当前需要的代码读入物理地址
  • 如果使用DLL,DLL也会被映射到虚拟地址空间中去,但是只有在需要的时候才会被读入内存

猜你喜欢

转载自blog.csdn.net/adventural/article/details/108468650