Windows历代内核字符编码

在这里插入图片描述

系统
wiki
虚拟机:VM16P,除了NT3.51,都能装;virtualbox,弥补VM的不兼容。
分析:HxD,OllyDBG。主机无法通过进程获取VM虚拟系统的内存,如果无法使用OD,不会用debug。可以通过VB的进程查看内存

前言

UCS-2⊊Unicode
UCS-2≦U+FFFF

GB2312(Win 3.2)
GBK(Win95~ME)
UCS-2(Win NT 3.51~NT 5.2 XP)
UTF-16(Win NT 6.0 Vista~NT 10)

Windows字符编码的使用和显示,是写在内核里的,如上图所示,例如win95、win98是同一系列的内核,所以都使用GBK作为字符编码,这种根植于字符在内存中是以什么样的形态存在,在这些系统中,编辑记事本等,输入字符时,字符在内存中的形态就是GBK,再此基础下,大魔王编写的游戏则是日文的编码,他想编码成Unicode、他国语言,即便工具可以做得到,但是在运行时,基于Windows字符编解码的话,还是会乱码。直到NT系统、XP之后,Windows核心字符编码使用了Unicode

ANSI:AMERICAN NATIONAL STANDARDS INSTITUTE,只是因为各国有自己的编码标准,所以微软只是将这些标准分为某个编号,ANSI可以简单的理解为标准编码,只不过这个标准是对应系统语言的

windows的文本显示,基于内核,例如早期版本只支持一个文字编码,这使得系统如果遇到不是自身编码支持的文本,不借助外部工具的话,无力为止。而在系统支持Unicode和多国编码后,可以修改设置以正确解码文本。

2.1 仅是图形化的文件管理器

3.2 是第一个支持中文的系统,也是唯一一个使用GB2312为字符编码的中文系统,之后的中文系统都使用GBK字符编码

NT3.1 第一款32位系统
NT3.5 第一款不基于DOS的系统
NT3.51 第二款支持中文的系统,Unicode内核编码,ANSI为GBK编码

4.X / 9X,仅安装了当前语言的Code page,例如简体中文,内核是GBK

NT4.X,Unicode内核编码,9X界面,支持多国语言输入法

NT5.X(2000、XP),编码是UCS-2,但超过U+FFFF的,无法正常显示,但可以正常编解码

NT6.X,良好的支持UTF-16

DOS

在这里插入图片描述
DOS的时候,已经有了codepage在这里插入图片描述
在安装DOS7的时候,也提示选择codepage,虽然并没有看到什么不同

Windows 2

windows 2,第一次的MS中文系统,DOS都是挂载额外的中文部件,才能显示中文

在这里插入图片描述
Win2的记事本

Windows 3

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
语言设置,这里就开始有,但是随后的9X取消了,修改为其他国家的语言,需要DLL文件
在这里插入图片描述
在这里插入图片描述
Win3的造字程序,两个区域的国标码,可以自造字形
在这里插入图片描述
尚未支持GBK,仅支持GB2312

<
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值