精华内容
下载资源
问答
  • 区位码国标码,机内码转换

    万次阅读 2018-01-11 12:23:01
    2.GB2312和区位码 GB2312和GBK才有区位码之说,其他编码方式比如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;
    }
    
    展开全文
  •  (1)区位码转换成十六进制数表示   (2)(区位码的十六进制表示)+2020H=国标码;  (3)国标码+8080H=机内码  二、举例:以汉字“大”为例,“大”字的区内码为2083  解:  1、区号为20,位

    转载自:http://articles.e-works.net.cn/661/Article42720.htm

    一、方法:

        (1)区位码先转换成十六进制数表示 
        (2)(区位码的十六进制表示)+2020H=国标码;
        (3)国标码+8080H=机内码


        二、举例:以汉字“大”为例,“大”字的区内码为2083

        解:

        1、区号为20,位号为83

        2、将区位号2083转换为十六进制表示为1453H

        3、1453H+2020H=3473H,得到国标码3473H

        4、3473H+8080H=B4F3H,得到机内码为B4F3H


        三、小结:

        字符编码的两种表示方式:ASCII(字符的表示);GB2312(国标码,汉字编码)

        所以答案应该是DEB8H


    展开全文
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼国标机内码的转换国标码并不等于区位码,它是由区位码稍作转换得到,其转换方法为:先将十进制区码和位码转换为十六进制的区码和位码,;这样就得了一个与国标码有一个...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    国标与机内码的转换

    国标码并不等于区位码,它是由区位码稍作转换得到,其转换方法为:先将十进制区码和位码转换为十六进制的区码和位码,;这样就得了一个与国标码有一个相对位置差的代码,;再将这个代码的第一个字节和第二个字节分别加上20H,就得到国标码。如:“保”字的国标码为3123H,它是经过下面的转换得到的:1703D->1103H->+20H->3123H。

    输入码、区位码、国标码与机内码

    国家标准局1980年颁布的《信息交换用汉字编码字符集"基本集》(代号为GB2312 80)规定的汉字交换码作为国家标准汉字编码。 GB2312 80中共有7445个字符符号: 汉字符号6763个 一级汉字3755个(按汉语拼音字母顺序排列) 二级汉字3008个(按部首笔划顺序排列) 非汉字符号682个 GB2312 80规定,我们知道,键盘是当前微机的主要输入设备,;输入码就是使用英文键盘输入汉字时的编码。目前,我国已推出的输入码有数百种,但用户使用较多的约为十几种,按输入码编码的主要依据,大体可分为顺序码、音码、形码、音形码四类,如“保”字,用全拼,输入码为码为“BAO”,用区位码,输入码为“1703”,用五笔字型则为“WKS”。

    计算机只识别由0、1组成的代码,ASCII码是英文信息处理的标准编码,汉字信息处理也必须有一个统一的标准编码。 汉字交换码(国标码)主要用于汉字信息交换,我国国家标准局于1981年5月颁布了《信息交换用汉字编码字符集——基本集》,代号为GB2312-80,共对6763个汉字和682个图形字符进行了编码,其编码原则为:汉字用两个字节表示,每个字节用七位码(高位为0),;所有的国标码汉字及符号组成一个94行94列的二维代码表中。在此方阵中,每一行称为一个"区",每一列称为一个"位"。这个方阵实际上组成一个有94个区(编号由01到94),每个区有94个位(编号由01到94)的汉字字符集。每两个字节分别用两位十进制编码,前字节的编码称为区码,后字节的编码称为位码,此即区位码,其中,高两位为区号,低两位为位号。这样区位码可以唯一地确定某一汉字或字符;反之,任何一个汉字或符号都对应一个唯一的区位码,没有重码。如“保”字在二维代码表中处于17区第3位,区位码即为“1703 ”。

    国标码并不等于区位码,它是由区位码稍作转换得到,其转换方法为:先将十进制区码和位码转换为十六进制的区码和位码,;这样就得了一个与国标码有一个相对位置差的代码,;再将这个代码的第一个字节和第二个字节分别加上20H,就得到国标码。如:“保”字的国标码为3123H,它是经过下面的转换得到的:1703D->1103H->+20H->3123H。

    汉字国标码的范围用二进制表示是: 00100001 00100001 01111110 01111110 (1+32)10 (1+32)10 (94+32)10 (94+32)10 7 位ASCII码是128个字符组成的字符集。其中编码值0 31(00000000 00011111)不对应任何印刷字符,通常称为控制符,用于计算机通信中的通信控制或对计算机设备的功能控制。编码值32(00100000)是空格字符SP。编码值127(1111111)是删除字符DEL。

    展开全文
  • 2014-09-21 回答1.机内码与区位码 机内码高位字节...区位码用两个10进制数表示,方法: (1)区位码转换成十六进制数表示 (2)(区位码的十六进制表示)+2020H=国标码; (3)国标码+8080H=机内码 举例:以汉字“大”为例,X...

    2014-09-21 回答

    1.机内码与区位码 机内码高位字节=(区号)H+A0H 机内码低位字节=(位号)H+A0H 2.国标码与区位码 国标码高位字节=(区号)H+20H 国标码低位字节=(位号)H+20H 3.区位码用两个10进制数表示,方法: (1)区位码先转换成十六进制数表示 (2)(区位码的十六进制表示)+2020H=国标码; (3)国标码+8080H=机内码 举例:以汉字“大”为例,XXOOH。

    一般换算全部用十六进制,汉字系统中的过程包括区内码、国标码和机内码,区位码、国标码与机内码的转换关系 方法: (1)区位码先转换成十六进制数表示 (2)(区位码的十六进制表示)+2020H=国标码; (3)国标码+8080H=机内码 举例:以汉字“大”为例,区位码、国标码与机内码的转换关系 (1)区位码先转换成十六进制数表示 (2)(区位码的十六进制表示)+2020H=国标码; (3)国标码+8080H=机内码 举例:以汉字“大”为例,位号为83 2、将区位号2083转换为十六进制表示为1453H 。区位码、国标码与机内码的转换关系方法:(1)区位码先转换成十六进制数表示 (2)(区位码的十六进制表示)+2020H=国标码; (3)国标码+8080H=机内码 举例:以汉字“大”为例,区位码、国标码与机内码的转换关系(1)区位码先转换成十六进制数表示(2)(区位码的十六进制表示)+2020H=国标码;(3)国标码+8080H=机内码举例:以汉字“大”为例,1.区位码(十进制)转换成区位码(十六进制)。“大”字的区内码为2083解:1、区号为20。记得24和36分开转16进制得18和24 2.国际码=区位码(十六进制)+2020H得3844H 3.汉字机内码=国际码+8080H 机内码就是B8C4。一、将区位码转换为国标码。汉字机内码由国标码演化而来。某汉字的区位码是5448,两区位码改写成十六进制,OO是卫码H代表十六进制。这样把54转换为16进制数36;。然后后两位换成十六进制。

    就可得机内码。

    机内码:在计算机内表示汉字的代码是汉字机内码,将所得到的国标码加8080H,“大”字的区内码为2083 解:1、区号为20,

    XX是区码,区位码是十进制的。位号为83 。“大”字的区内码为2083 解:1、区号为20,其中的转换关系如下: 1.区位码(十进制)转换成区位码(十六进制)。机内码、国际码是十六进制的, 这里要把前两个位换成十六进制,将XXOOH加2020H得到的就是国标码 二、国标码转换成机内码。另外两种码用两个十六进制数表示. 4."德"的区位码为2134, 得到十六进制数1824。

    展开全文
  • 区位码国标码、机内码、字型码

    万次阅读 2017-11-29 23:41:26
    一、区位码 区位码是一个四位的十进制数,前两位叫做区码(01-94),后两位叫做位码(01-94)。汉字符号组成一个94×94的矩阵...区位码是一个四位的十进制数,国标码是一个四位的十六进制数。为了和ASCII码兼容,汉字输
  • 今天有一个朋友找我让我帮忙写一个程序,要实现汉字国标码、机内码、区位码的相互转换,写完后我把程序放上来大家一起分享。 能实现一行汉字中每个字分别自动转换成多种编码。开源!在DEBUG里面有可运行程序直接使用...
  • 区位码国标码与机内码

    千次阅读 2013-03-28 18:18:35
     国标码并不等于区位码,它是由区位码稍作转换得到,其转换方法为:先将十进制区码和位码转换为十六进制的区码和位码,;这样就得了一个与国标码有一个相对位置差的代码,;再将这个代码的第一个字节和第二个字节分别...
  • 一、ASCII、机内码、区位码国标码、Unicode码他们之间是如何转换的,方程式是什么 汉字系统中的过程包括区位码国标码和机内码,其中的转换关系如下: 1.区位码(十进制)转换区位码(十六进制)。 这里要把...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼国标机内码的转换国标码并不等于区位码,它是由区位码稍作转换得到,其转换方法为:先将十进制区码和位码转换为十六进制的区码和位码,;这样就得了一个与国标码有一个...
  • 比较实用的介绍了汉字的区位码国标码、机内码之间的转换和求解。
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼国标机内码的转换国标码并不等于区位码,它是由区位码稍作转换得到,其转换方法为:先将十进制区码和位码转换为十六进制的区码和位码,;这样就得了一个与国标码有一个...
  • 一、ASCII、机内码、区位码国标码、Unicode码他们之间是如何转换的,方程式是什么 汉字系统中的过程包括区位码国标码和机内码,其中的转换关系如下: 1.区位码(十进制)转换区位码(十六进制)。 这里...
  • 1、区位码区位码 (4 4位十进制位十进制) 国标码国标码 (十六进制十六进制) 机内码机内码 ( (十六进制十六进制) ) 2 2字节区位码字节区位码 (十六进制十六进制) + +20202020H H 2 2组十六进制转换组十六进制转换 (...
  • 区位码: 在 GB2312 时提出的, GB2312 是一个 94*94 的二维表, 行就是 "区"、列就是 "位", 譬如 "万" 字在 45 区 82 位, 所以 "万" 字的区位码是: 45 82. 00-09 区(682个): 是符号、数字、英文字符...制表符等; ...
  •   GB2312 是基于区位码设计的,在区位码的区号和位号上分别加上 A0H 就得到了 GB2312 编码。这里第一次提到了“区位码”...区位码国标码,交换码,内码,外码 区位码:就是把中文常用的符号,数字,汉字等分门...
  • 一、区位码为了适应计算机处理汉字信息的需要,1981年我国颁布了GB2312国家标准。该标准选出6763个常用汉字(其中,一级常用汉字3755个,二级汉字3008个)和682个非汉字字符,并为每个字符规定了标准代码,以便在...
  • 《大学计算机基础字符的编码——区位码国标码》由会员分享,可在线阅读,更多相关《大学计算机基础字符的编码——区位码国标码(11页珍藏版)》请在人人文库网上搜索。1、字符的编码,计算机是以二进制的形式存储和...
  • 区位码国标码,内码

    千次阅读 2011-03-26 08:52:00
    区位码:可当作一种逻辑概念,它按照区号加位号的方式为每个汉字编码。...   下面列一下区位码国标码,内码三者之间的转换公式: 区位码-->国标码区位码(十进制)的两个字节分别转换
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼国标机内码的转换国标码并不等于区位码,它是由区位码稍作转换得到,其转换方法为:先将十进制区码和位码转换为十六进制的区码和位码,;这样就得了一个与国标码有一个...
  • 输入码、区位码国标码与机内码 输入码、区位码国标码与机内码,这些字对每一位computer fan 来说,可能都不陌生,但其中的联系区别,可能就不那么清楚了,(笔者作为一名中专电脑教师,经常遇到同学问类似的...
  • 概念 1. 汉字编码 为每个汉字编上唯一的...GB2312是一种汉字编码方式,具体由区位码实现,GB2312将所有汉字编入一个94*94的二维表中,行和列共同定位一个字,行就是“区”,列就是“位”,合并就为区内码。区位码...
  • 一、区位码 1980年,为了使每一个汉字有一个全国统一的代码,...国标码是一个四位十六进制数,区位码是一个四位的十进制数,每个国标码区位码都对应着一个唯一的汉字或符号,但因为十六进制数我们很少用到,所...
  • 目前,我国已推出的输入码有数百种,但用户使用较多的约为十几种,按输入码编码的主要依据,大体可分为顺序码、音码、形码、音形码四类,如“保”字,用全拼,输入码为“BAO”,用区位码,输入码为“1703 ”,用五笔...
  • 区位码 为了使每一个汉字有一个全国统一的代码,区位码是国家规定的94*94的一个方阵,其中每行叫做一个区... 国标码并不等于区位码,它是由区位码稍作转换得到。其转换方法为:先将十进制区码和位码转换为十六进制...
  • 区位码是什么?国标码是什么?它们如何转换又为什么这么转换? 首先来看一看什么是区位码?什么是国标码?什么是内码? 区位码:  GB2312是一种中文的编码方式,具体是由区位码来实现的。GB2312将所有的汉字编入...

空空如也

空空如也

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

区位码与国标码的转换