汉字在计算机内部存储
‘壹’ 汉字在计算机内部都是以()形式存储的 a:交换码 b:机内码 c:国标码 d:区位码
d:区位码。
汉字是以机内码的形式存储的
‘贰’ 汉字系统中的汉字字库里存放的汉字的(谢谢回答) A 机内码 B输入码 C 字形码 D国标码
汉字系统中的汉字字库里存放的汉字的是C字形码。
A机内码:汉字在计算机内存储、处理时的编码
B输入码:输入汉字时使用的编码,如全拼输入“中”时,中的输入码为“zhong”
C字形码:为在计算机内表示汉字而统一的编码方式形成汉字编码叫内码,内码是惟一的。为方便汉字输入而形成的汉字编码为输入码,属于汉字的外码,输入码因编码方式不同而不同,是多种多样的。为显示和打印输出汉字而形成的汉字编码为字形码,计算机通过汉字内码在字模库中找出汉字的字形码,实现其转换。
D国标码:中华人民共和国官方强制使用GB 18030标准,但较旧的计算机仍然使用GB 2312。
所以正确答案为C。
(2)汉字在计算机内部存储扩展阅读:
汉字编码的类型。
整字输入法:将三四千个常用汉字排列在一个具有三四百个键位的大键盘上。大多是将这些汉字按XY坐标排列在一张字表上,通常叫“字表法”,或“笔触字表法”。
字形分解法:将汉字的形体分解成笔画或部件,按一定顺序输进机器。笔画一般分成 8种:横一、竖(丨)、撇(丿)、点(丶)、折(□)、弯(□)、叉十、方(口)。部件一般归纳出一二百个。
字形为主、字音为辅的编码法:这种编码法与字形分解法的不同在于还要利用某些字音信息。如有的方案为了简化编码规则,缩短码长,在字形码上附加字音码,有的方案为了采用标准英文电传机,将分解归纳出来的字素通过关系字的读音转化为拉丁字母。
全拼音输入法:绝大多数是以现行的汉语拼音方案为基础进行设计。关键问题是区分同音字,因而有的方案提出“以词定字”的方法,还有的方案提出“拼音-汉字转换法”,即“汉语拼音输入 ──机内软件变换(实为查机器词表)──汉字输出”系统。
拼音为主、字形为辅的编码法:在拼音码前面或后面再添加一些字形码。拼音码有用现行汉语拼音方案或稍加简化的,还有的为了缩短码长而把声母和韵母都用单字母或单字键表示的“双拼方案”或“双打方案”。
‘叁’ 什么是内码和外码
我们常说汉字的"内码"与"外码"。
内码是汉字在计算机内部存储,处理和传输用的信息编码。它必须与ASCII码兼容但又不能冲突。
所以把国标码两个字节的最高位置'1',以区别于西文,这就是内码。汉字的输入码称为"外码"。输入码即指我们输入汉字时使用的编码。常见的外码分为数字编码(如区位码),拼音编码和字形编码(如五笔)。
再说区位码,"啊"的区位码是1601,写成16进制是0x10,0x01。这和计算机广泛使用的ASCII编码冲突。为了兼容00-7f的 ASCII编码,我们在区位码的高、低字节上分别加上A0。这样"啊"的编码就成为B0A1。我们将加过两个A0的编码也称为GB2312编码,虽然 GB2312的原文根本没提到这一点。
内码是指操作系统内部的字符编码。早期操作系统的内码是与语言相关的.现在的Windows在内部统一使用Unicode,然后用代码页适应各种语言,"内码"的概念就比较模糊了。我们一般将缺省代码页指定的编码说成是内码。内码这个词汇,并没有什么官方的定义。代码页也只是微软的一种习惯叫法。作为程序员,我们只要知道它们是什么东西,没有必要过多地考证这些名词。
所谓代码页(code page)就是针对一种语言文字的字符编码。例如GBK的code page是CP936,BIG5的code page是CP950,GB2312的code page是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的语句,例如:
<meta http-equiv="Content-Type" content="text/html; charset=ISO8859-1">
如果原作者使用的代码页和ISO8859-1兼容,就不会出现乱码了