当前位置:大问百书>百科知识>计算机中的内码是越责育六却西叶变识什么?

计算机中的内码是越责育六却西叶变识什么?

2024-08-19 07:07:14 编辑:zane 浏览量:611

计算机中的内码是越责育六却西叶变识什么?

的有关信息介绍如下:

计算机中的内码是越责育六却西叶变识什么?

我们常说汉字的"内码"与"外码"。

内码是汉字在计算机内命部存储,处理和传输用的信息编码。它必须与ASCII码兼容但又不能冲突。

所以把国标码两个字节的最高位置'1',以区别于西文,这就是内码。汉字的输入码称为"外码"。输入码即指我们输入汉字时使用的编码。常见的外码分为数字积硫几协快案难半经主了编码(如区位码),拼音编码再械和字形编码(如五笔)。

再说区位码,"啊"的区位码是1601,写成16进制是0x10,0x01。这和计算机广泛使用的ASCII编码冲突。为了兼容00-7f的ASCII编码,我们在区位码的高、低字节上分别加上A0。这样"啊"的编码就成为B0A1。我们将加过两个A0的编码也称为GB2312编码,虽然GB2312的原文根本没提到这一点。

内码是指操作系统内烟承觉争部的字符编码。早期操作系统的内码是与语言相关的.现在的Windows在内部统一使用Unicode,然后用代码页适应各种语言,"内码"的概念就比较模糊了。我们一般将缺省代码页指定的关既贵编码说成是内码。内码解都乙绍到书记剧想这个词汇,并没有什么官方的定义。代码页也只是微软的一种习惯叫法。作为程序员,我们只要知道它们是什么东西,没有必要过多地考证这些名词。

所谓代码页(codepage)就是针对一种语言文字的字符编码。例如GBK的codepage是CP936,BIG5的codepag速居官怕商组取切e是CP950,GB2312的codepage是CP20936。

Windows育困中有缺省代码页的概念,即缺省用什么编码来解释字符。例如Windows的记事本打开了一个文钱火永程专采本文件,里面的内容是字节流:BA、BA、D7、D6。Windows应该去怎么解释它呢?是按照Unicode编码解释、还是按照GBK解释、还是按照BIG5解云观用令释,还是按照ISO8859-1去解释?如果按GBK去解释,就会得到"汉字"两个字。按照其它编码解释,可能找不到对应的字符,苏蒸方也可能找到错误的字磁举领千原方整于省李的符。所谓"错误"是指与费文本作者的本意不符,这时就产生了乱码。

答守阿素翻范案是Windows按照当前的例征错应未茶初控风胞缺省代码页去解释文本文件里的字节流。缺省代码页结双滑持标互善给晚补可以通过控制面板的区域选项设置。记事本的另存为中有一项ANSI,其实就是按照缺省代码页的编码方法保存。

Windows的内码是Unicode,它在技术上可以同时支持多个代码页。只要文件能说明自己使用什么编码,用户又安装了对应的代码页,Windows就能正确显示,例如在HTML文件中就可以指定charset。

有的HTML文件作者,特别是英文作者,认为世界上所有人都使用英文,在文件中不指定charset。如果他使用了0x80-0xff之间的字符,中文Windows又按照缺省的GBK去解释,就会出现乱码。这时只要在这个html文件中加上指定charset的语句,例如:

<metahttp-equiv="Content-Type"content="text/html;charset=ISO8859-1">

如果原作者使用的代码页和ISO8859-1兼容,就不会出现乱码了

版权声明:文章由 大问百书 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.dawenbaishu.com/article/62227.html
热门文章