直接用输入法打出来的字是什么编码的呢?

事实上我用输入法对着什么程序输入都不会出问题。那么这是怎么做到的呢?
我猜有两种情况:
    1、程序会告诉输入法它要哪种编码的字符。
    2、输入法输出的字符在输入程序的时候被程序转换了。

当软件或者没有给出任何编码指示的时候,都推脱给操作系统了,操作系统是中文的,默认就GB2312了,如果操作系统是其他默认编码方式,你的输入也会变成相应的其他的方式。

=======================================================================

"直接用输入法打出来的字" -- 这里含好几个过程。
(1)当你用键盘打字时,从键盘进入计算机的是ASCII码序列。
(2)“输入法”把 ASCII码序列 转换成 输入法 自己规定的 码。
(3)你在一个窗上看到的东西,例如 notepad 的文本编辑窗,wordpad 的文本编辑窗, 或 DOS 黑窗(控制台命令7a686964616fe58685e5aeb931333264636137窗)那是 把 “输入法自己规定的码”显示出来,这里有一个编码到字体(font)到bitmap点阵图形的转换。只有当它们匹配时才能显示出有意义的 字的形状。否则看上去是“乱码”。
以DOS 黑窗为例,只有正确设置它的 所谓 代码页(code page) ,才能显示出有意义的字形。
GBK的code page是CP936;
BIG5的code page是CP950;
GB2312的code page是CP20936;
DOS 命令 CHCP 不带参数 可以显示 当前 “代码页”,加参数可以改变 “代码页"
例如:chcp 936 例如: chcp 437
(4)从文本编辑窗 到 存放的文件 也有 代码的转换。
例如,notepad, 可以存放为 unicode 小端码,unicode 大端码,UTF-8码.
unicode 文件会在文件头自动添加 unicode BOM ( Byte-Order Mark)
---
所以, 直接用输入法打出来的字是什么编码的呢,具体情况具体分析,不可一概而论。

发布了8 篇原创文章 · 获赞 64 · 访问量 60万+

猜你喜欢

转载自blog.csdn.net/lishimin1012/article/details/105593787
今日推荐