精华内容
下载资源
问答
  • 第1关:汉字国标码区位码实验.txt
  • 汉字机内码、国标码和区位码定义区别(含例子)
  • 区位码国标码、机内码、字型码

    万次阅读 2017-11-29 23:41:26
    一、区位码 区位码是一个四位的十进制数,前两位叫做区码(01-94),后两位叫做位码(01-94)。汉字与符号组成一个94×94的矩阵...区位码是一个四位的十进制数,国标码是一个四位的十六进制数。为了ASCII码兼容,汉字输

    转载于http://lyj.fj61.net/show.aspx?id=517&cid=81
    一、区位码
    区位码是一个四位的十进制数,前两位叫做区码(01-94),后两位叫做位码(01-94)。汉字与符号组成一个94×94的矩阵。在此方阵中,每一行称为一个“区”,每一列称为一个“位”。
    每个区位码都对应着一个唯一的汉字或符号。比如:“2901”输入“健”字,“4582”输入“万”字。
    二、国标码
    区位码是一个四位的十进制数,国标码是一个四位的十六进制数。为了和ASCII码兼容,汉字输入区位码与国标码有一个简单的转换关系(见“四”)。
    三、机内码
    汉字或字符在计算机内部的表示就是机内码。
    (一)西文机内码
    计算机的内部用一个字节(8位二进制数)存放一个7位ASCⅡ,最高位为0。比如:西文字符A的机内码是01000001(最高位是0)
    (二)中文机内码
    用二个字节(16位二进制数)存放一个中文字符,比如:“大”的机内码是10110100 11110011(每个字节的最高位均为1,这样机器就不会认为是2个西文字符)
    四、汉字的区位码、国标码、机内码转换
    (一)区位码、国标码、机内码转换
    区位码先转换成十六进制,以下的H表示十六进制数
    区位码+2020H=国标码
    国标码+8080H=机内码
    (二)举例
    以汉字“大”为例:
    “大”字的区位码为2083(十进制数),“区”和“位”分别换算成十六进制是1453H(20→14H,83→53H)
    1453H+2020H=3473H,得到“大”字的国标码是3473H
    3473H+8080H=B4F3H,得到“大”字的机内码是B4F3H
    五、点阵字型码
    用点阵表示字型时,汉字字型码指的是这个汉字字型点阵的代码。根据输出汉字的要求不同,点阵的多少也不同。简易型汉字为16*16点阵,提高型汉字为24*24点阵,32*32点阵,48*48点阵等等。
    点阵规模愈大,字型愈清晰美观,所占存储空间也愈大。
    比如:24*24点阵汉字占用24*24/8=72字节。48*48点阵汉字占用48*48/8=288字节。

    展开全文
  • 区位码国标码,机内码转换

    万次阅读 2018-01-11 12:23:01
    2.GB2312和区位码 GB2312GBK才有区位码之说,其他编码方式比如utf-8就没有这种说法 3.区位码 GB2312收集了7445个字符组成94*94的方阵,每一行称为一个“区”,编号为01-94,每一列称为一个“位”,编号为01-94...

    1.首先认识一下GBK和GB2312
    gbk是gb2312的超集,gbk不光包括简体字还包括繁体字等一些其他字体。
    2.GB2312和区位码
    GB2312和GBK才有区位码之说,其他编码方式比如utf-8就没有这种说法
    3.区位码
    GB2312收集了7445个字符组成94*94的方阵,每一称为一个“”,编号为01-94,每一称为一个“”,编号为01-94,这种用来表示每个字符所处位置的图称为“区位图”,用字符所在区位图中的位置来表示字符的代码称为“区位码”。比如“啊”的区位码为1601。
    4.国标码
    对这些编号进行编码的结果就得到“国家标准代码”,简称为“国标码”,也称“汉字交换码”
    国标码由两个字节组成,其高字节和低字节的最高位都为0,与7位标准ASCII码类似。
    编码方法是现将十进制表示的区码和位码转换为十六进制表示的区码和位码,再讲这个代码的高字节(第一个字节)和低字节(第二个字节)分别加上20H(100000B),就得到国标码。每个字节加20H的原因是为了避开ASCII码表的32个控制字符
    内码
    为了解决ASCII码和国标码在同事使用时产生的二义性,讲国标码的高字节和低字节的最高位b7都变成1,或者说每个字节都加上0x80,这样得到的代码被称为机内码,常被简写成“内码”

    文字存储方式
    任何数据在计算机最终存储形式都是0011这种二进制字符串当然进一步包装转换就是8进制16进制,所以不管什么编码他的实际存储形式就是字节比特,那计算机在读取过程就是按一个字节一个字节读取,所以当同时使用ASCII码和GB2312就要有所区分,前者是1个字节编码后者是两个字节,那么你现在读到的这个字节是属于ASCII码还是GB2312就要根据标识判断一下,如果是属于GB2312那就再读取下一个字节再用GB2312的编码方法翻译反之就用ASCII
    代码

    #include<stdio.h> 
    #include<malloc.h>
    const char* hex_code = "0123456789ABCDEF";
    //区位码转换成国标码+20H相当于十进制32
    const int toStandard = 32;
    //国标码转换成内码+80H相当于十进制128
    const int toInner = 128;
    //十进制转16进制
    //这个函数写法只能转换256-0xFF
    char* toHex(int num){
        char* hex;
        //获得两个单元的字符数组
        hex = (char*)malloc(sizeof(char)*2);
        //获得前4位的16进制字符
        hex[0] = (char)(hex_code[num/16]);
        //获得后4位的16进制字符
        hex[1] = (char)(hex_code[num%16]);
        printf("%d\n",num);
        printf("%c,%c\n",hex[0],hex[1]);
        return hex;
    }
    char getInnerCode(int area_code,int pos_code){
        char innerCode;
        char* head = toHex(area_code);
        char* tail = toHex(pos_code);
        //这个想获得一个前4位16进制字符和后4位16进制字符的合并的表现形式
        //此写法不通也没必要合并
        //innerCode = ((head&0xFF)<<8)|((tail&0xFF));
        return innerCode;
    }
    
    
    int main(){
    
        int area_code = 16;
        int pos_code = 1;   
        area_code = area_code+toStandard+toInner;
        pos_code = pos_code+toStandard+toInner;
        char innerCode = getInnerCode(area_code,pos_code);
        printf("%c\n",innerCode);
        return 0;
    }
    
    展开全文
  • 首先介绍区位码区位码是国家标准局1981年颁布的标准,他用两个字节表示一个汉字,每个字节用7位码,并将汉字图形符号排列在一个94*94的二维代码表中。 也就是说国家标准局当时决定把汉字引入计算机时,做的第一...

    首先介绍区位码,区位码是国家标准局1981年颁布的标准,他用两个字节表示一个汉字每个字节用7位码,并将汉字和图形符号排列在一个94*94的二维代码表中。

    也就是说国家标准局当时决定把汉字引入计算机时,做的第一步就是先建立区位码。

    在区位码建立后,为了避免和ASCLL编码的前32位控制字符冲突,区位码应该在每个字节上让出32位,即16进制下的20H。因为ASCLL码是单字节,而区位码是双字节,所以每个字节加20H,最后就形成了国标码。

    国标码=区位码+2020H

    在国标码建立后,还是有问题,汉字编码无法和ASCLL编码同时存在,以汉字编码时,输入英文字符就会乱码。故提出汉字内码一说。那怎么处理这件事呢?

    我们知道ASCLL码中最大值时127,即0111 1111。也就是说在ASCLL码的单字节中最前面一位始终是0。那么问题就好办了,把汉字字节的最前面一位的0改为1不就和ASCLL码区分开了吗?

    两个字节都这么操作,就相当于每个字节加80H,所以汉字内码=国标码+8080H

     

    展开全文
  • educoder汉字国标码区位码实验hust,仅是通过测试的完成文件.在 logisim 中打开实验资料包中的 data.circ 文件,在对应电路中完成国标码区位码的子电路设计。其中输入引脚为16位的 GB2312 双字节国标码
  • 1、三者的关系: 国标码 = 区位码 + 2020H; 机内码 = 国标码 + 8080H; 2、运算规则: ...例题:以“大”字为例,它的区内码为2083,求国标码和机内码? 解:20是区号,83为位号 (1)20转换为十...

    1、三者的关系:

    国标码 = 区位码 + 2020H;
    机内码 = 国标码 + 8080H;

    2、运算规则:

    (1)将区位码中的区码和位码分别转换为十六进制数;
    (2)区位码的十六进制数+2020H = 国标码;
    (3)国标码+8080H = 机内码;

    3、例题

    例题:以“大”字为例,它的区内码为2083,求国标码和机内码?
    
    解:20是区号,83为位号
    
       (1)20转换为十六进制数为14,83转换为十六进制数为53,则区内码十六进制表示数为1453H;
    
       (2)14 53 H
          + 20 20 H
         ------------
            34 73 H
    
         国标码 = 3473H;
    
        (3)3 4 7 3 H
          +  8 0 8 0 H
         ---------------
            11 4 15 3 H
    
            B  4 F 3 H
    
         机内码 = B4F3H;

     

    展开全文
  • 概念 1. 汉字编码 为每个汉字编上唯一的...GB2312是一种汉字编码方式,具体由区位码实现,GB2312将所有汉字编入一个94*94的二维表中,行列共同定位一个字,行就是“区”,列就是“位”,合并就为区内码。区位码...
  • 目录区位码国标码(交换码)内码(机内码)区位码、国际码、内码的转换为什么要加上20H为什么加上80H 本文以GB2312为例,讲述区位码、国标码、内码、外码、字形码 区位码 整个GB2312字符集分成94个区,每区有94个位,每...
  • educoder 国标码区位码实验(详细)

    万次阅读 多人点赞 2020-06-16 12:39:43
    首先使用logisim打开data.circ文件,打开后点击国标码区位码,可以看到下图所示页面: 点击右上角工具栏的箭头, 将电路连接为如下样式: 然后在滑动左侧滑块, 找到“线路”, 点击左侧的‘+’, 在里面找到...
  • 一、区位码为了适应计算机处理汉字信息的需要,1981年我国颁布了GB2312国家标准。该标准选出6763个常用汉字(其中,一级常用汉字3755个,二级汉字3008个)682个非汉字字符,并为每个字符规定了标准代码,以便在...
  • 区位码是什么?国标码是什么?它们如何转换又为什么这么转换? 首先来看一看什么是区位码?什么是国标码?什么是内码? 区位码:  GB2312是一种中文的编码方式,具体是由区位码来实现的。GB2312将所有的汉字编入...
  • 国标码=区位码+20 20 H 机内码=国标码+80 80 H 机内码=区位码+80 80 H 判断西文字符中文字符的方式 西文字符<80H 中文字符>A0 A0H 如果要深入了解机制还要从最开的西文字符——ASCII码说起 1....
  • 简体汉字编码中区位码国标码、内码、外码、字形码的区别及关系       GB2312、GBK、GB18030等GB类汉字编码方案的具体实现方式是怎样的?区位码是什么?国标码是什么?内码、外码、字形码又是什么...
  • 汉字国标码区位码的实验 一.基础内容 二.EduCoder(实验一:汉字国标码区位码) ​ 一.基础内容 区位码是啥? ​ 定义:区位构成唯一的二维数组 ​ 区号:2位,位号:2位,都用十进制表示 ​ 2. ...
  • 也在最后加入了一个例子来证实了一下在GB2312编码下从区位码到实际在计算机中存储的二进制字节流的转换过程。因此我将这篇文章定为原创,望理解。下面是正文。 GB2312等GB类汉字编码方案的具体实现方...
  • 区位码国标码与机内码

    千次阅读 2016-02-12 19:36:06
    区位码的区码和位码均采用从01到94的十进制,国标码采用十六进制的21H到73H(数字后加H表示其为十六进制数);把换算成十六进制的区位码加上2020H(十六进制数20即十进制数32),就得到国标码国标码加上8080H...
  • 2.区位码国标码是一个四位十六进制数,区位码是一个四位的十进制数,每个国标码区位码都对应着一个唯一的汉字或符号,但因为十六进制数我们很少用到,所以大家常用的是区位码,它的前两位叫做区码,后两位叫做位...
  • 计算机技术领域中,使用键盘输入汉字的方法实质是区位码国标码输入法。本文介绍了区位码国标码输入法的现实意义,IME的组成结构以及区位码国标码输入法的发展动态。主要说明区位码国标码输入法在中文键盘...
  • 一、区位码: 为了使每一个汉字有一个全国统一的...由于国标码是四位十六进制,为了便于交流,大家常用的是四位十进制的区位码。所有的国标汉字与符号组成一个94×94的矩阵。在此方阵中,每一行称为一个"区",每一列称为
  • GB2312 是基于区位码设计的,在区位码的区号位号上分别加上 A0H 就得到了 GB2312 编码。这里第一次提到了“区位码”,我就连带把下面这几个让人摸不到头脑的 XX 码一锅端了吧: 区位码国标码,交换码,内码,外...
  • 将一些常用符号及汉字,按区与位的方式编入码表,这套编码便是区位码。 一、区位码 区位码是一个四位的十进制数,高两位为区码(01-94),低两位为位码(01-94),由此组成一个94×94的矩阵,每个码值都...
  • 【计组笔记-1】区位码国标码,汉字内码,以及万国码 在学习计组时,了解到区位码是用一个94x94的表格记录常用汉字与特殊字符,特殊字符中包含字母,数字,希腊字母,拼音,一些几何图标,箭头,书名号等等等等,...
  • 汉字国标码区位码查询软件

    热门讨论 2010-08-06 10:36:04
    此软件是专门用于查询汉字区位码的软件,使用起来灵活方便。
  • 机外码、区位码国标码、机内码

    千次阅读 2020-06-01 15:42:16
    目前,我国已推出的输入码有数百种,但用户使用较多的约为十几种,按输入码编码的主要依据,大体可分为顺序码、音码、形码、音形码四类,如“保”字,用全拼,输入码为“BAO”,用区位码,输入码为“1703 ”,用五笔...
  • 信息编码--区位码国标码,内码

    热门讨论 2020-10-07 19:27:21
    计算机内的信息编码 西文字符编码 西文就是英文,数字,英文标点等等,每个ASCII码以一个字节(Byte)储存,国际通用的7位码用7位二进制数表示一个字符的编码,其编码...区位码(国家标准定义) GB2312是一种中文...
  •  国际码 = 转化为十六进制的区位码(注意将4位的区位码前两位后两位分开来转化,而非全部同时转化) + 2020H  机内码 = 国际码 + 8080H   3. 机内码概念  所有国标码汉字及符号组成一个94*94的二维...
  • 区位码国标码、机内码、GBK

    千次阅读 2014-10-09 14:13:27
    它规定了用两个字节来表示一个汉字,每个字节都只能使用低7位,共有128*128种状态,又由于ASCII中的控制代码在汉字系统中也要使用,所以只剩下94*94=8836种状态用来表示国标码规定的6763个汉字682个全角

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,912
精华内容 764
关键字:

区位码和国标码