汉字在计算机中的表示

汉字在计算机中的表示

一、一个汉字在计算机中占两个字节的位置

西文字符中的ASCII码表示西文字符是,用的是7位的ASCII码,为了在计算机中存储,最高位(第八位)默认为0,所以可以表示27个不同的字符;扩展的ASCII码,使用的第八位,不在默认为0,所以最多可以表示28个字符。

中文跟西文不大一样。中文的一个汉字占16位,也就是两个字节的位置。编码方式跟ASCII码类似,但是为了与ASCII码区别开来,最高位默认为1.

二、汉字编码的过程

汉字编码分为外码、机内码、字形码、矢量汉字四个阶段。

外码是输入码,就像搜狗那样的输入法。机内码有国标码、BIG5等,这个过程是不会在电脑屏幕上显示的。字形码以点阵形式表示一个汉字。矢量汉字是用一种软件在屏幕上显示汉字字形,可以随意的放大缩小。

国标码是 用于计算机之间或与终端之间信息交换时的汉字代码(GB2312,GBK,GB18030), 由连续的两个字节组成,每个字节七位有效,最高位为1。

字形码是确定一个汉字字形点阵的代码, 汉字字形点阵中的每个点对应一个二进制位。

矢量汉字是用软件描述汉字 ,矢量字库保存对每一个汉字的描述信息,比如一个笔划的起始、终止坐标,半径、弧度等等。在输出时要经过一定的数学运算。 矢量汉字可随意放大、缩小而不变形。 Windows使用的字库为以上两类。在FONTS目录下,扩展名为FON的文件为点阵字库;扩展名为TTF为矢量字库。

三、汉字信息处理过程

时间: 2024-12-29 06:43:44

汉字在计算机中的表示的相关文章

java 20 - 8 字节流的文件复制以及汉字在计算机中的存储方式

复制文本文件:把当前目录下的FileIntputStream.java文件里面的内容复制到当前目录的b.txt文件中 分析: 数据源: FileIntputStream.java -- 读取数据 -- FileInputStream 目的地: b.txt --- 写入数据 ---- FileOutputStream 思路:首先读取数据源的内容,然后把读取到的内容再写入到目的地中 前提:数据源存在,否则会报错 1 import java.io.FileInputStream; 2 import j

计算机中的编码问题

计算机中的编码问题 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节.比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295. 一.目前常用的编码 ASCII编码:由于计算机是美国人发明的,因此,最早只有127个字母被编码到计算机里,也就是大小

聊聊计算机中的编码(Unicode,GBK,ASCII,utf8,utf16,ISO8859-1等)

作为一个程序员,一个中国的程序员,想来“乱码”问题基本上都遇到过,也为之头疼过.出现乱码问题的根本原因是编码与解码使用了不同而且不兼容的“标准”,在国内一般出现在中文的编解码过程中. 我们平时常见的编码有Unicode,GBK,ASCII,utf8,utf16,ISO8859-1等,弄清这些编码之间的关系,就不难理解“乱码”出现的原因以及解决办法. 所谓字符集编码其实就是将字符(包括英文字符.特殊符号,控制字符,数字,汉子等)与计算机中的一个数字(二进制存储)一一对应起来,用这个数字来表示该字符

计算机中位(bit), 字节(byte), 字(word)的关系

1.位(bit) 来自英文bit,音译为“比特”,表示二进制位.位是计算机内部数据储存的最小单位,11010100是一个8位二进制数.一个二进制位只可以表示0和1两种状态(21):两个二进制位可以表示00.01.10.11四种(22)状态:三位二进制数可表示八种状态(23)……. 2.字节(byte) 字节来自英文Byte,音译为“拜特”,习惯上用大写的“B”表示. 字节是计算机中数据处理的基本单位.计算机中以字节为单位存储和解释信息,规定一个字节由八个二进制位构成,即1个字节等于8个比特(1B

计算机中的进制和编码(转载)

原文出处: http://www.cnblogs.com/resn/p/5775378.html 古时候,人们是如何来传递消息的? 当年周幽王为博褒妃一笑,不顾众臣反对,竟数次无故点燃边关告急用的烽火台,使各路诸侯,长途跋涉,匆忙赶去救驾.结果,被戏而回.周幽王从此便失信于诸侯,最后,当边关真的告急之时,他点燃烽火却再也没人赶来救他了!不久,便死于刀下,亡了西周.西周第九代国君是周厉王,贪财好色,昏庸残暴,激起了公元前841年的"国人(平民)暴动".周朝从此衰落下去,社会动荡不安. 扯

计算机中的进制和编码

计算机中的进制和编码 古时候,人们是如何来传递消息的? 当年周幽王为博褒妃一笑,不顾众臣反对,竟数次无故点燃边关告急用的烽火台,使各路诸侯,长途跋涉,匆忙赶去救驾.结果,被戏而回.周幽王从此便失信于诸侯,最后,当边关真的告急之时,他点燃烽火却再也没人赶来救他了!不久,便死于刀下,亡了西周.西周第九代国君是周厉王,贪财好色,昏庸残暴,激起了公元前841年的"国人(平民)暴动".周朝从此衰落下去,社会动荡不安. 扯远了,我们说有城池A和城池B,城池B为前线,当城池B受到攻击的时候,需要城池

计算机中的进制

在学习编程的过程中,经常见到二进制,十进制,十六进制,到底进制表示什么意思呢?进制,字面意思,前进的制度,在数字方面,就是数字前进的制度,数字怎么向前进,那就是进位,我们在做加法运算的时候都会用到进位,8+3,我们会写个1,然后向前进一位,数数的时候更是如些,1,2,3......10, 我们不会再向下数11,12 ..... ,而是在心中放一个1, 然后再1,2,3,4,......10, 到10之后, 我们也不会向下数,而是在心中再记一个1,那么心中的数字就是2了,继续向下数,1,2,3,数

计算机中如何实现除数是2的幂次的除法【转载自CSDN】

前言: 本来是在看汇编里面的数据条件传送指令,做习题的时候看着这么一道有关于2的幂次方除法的题目.结果傻眼了,又尼玛不会了.........第二章看的时候就稀里糊涂的,看了几遍也没看太懂,这回又涉及到了 ,发现再回来看还是容易一点.所以写此博文,方便日后复习. 我今天遇到的问题如下: 问题: 除法,在我们平时的算数运算中,结果总是向0的方向舍入的,但是在计算机中,舍入的方式有所不同.在大多数的机器中,除法要比乘法还有加法这些运算都要慢很多倍,计算机中对于2的幂次这种数很是敏感,因为计算机当中用到

计算机中数字的二进制存储形式

今天,做个关于二进制的算法题,突然有个问题一直想不通为什么~5是6,计算机基础知识不过关啊,所以现在来弥补下,正数和负数在计算机中是怎么存储和计算的. 讲讲计算机中的存储形式: 计算机中存储的数都是以补码的方式存储的,而正数的原码,反码,补码都是一样的.但是负数的原码,反码,补码是不一样的. 下面都是以java中的int i=5为例. 正数5的原码就是其二进制码:00000000 00000000 00000000 00000101 反码是:00000000 00000000 00000000