-
2021-06-27 09:57:37
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。
更多相关内容 -
第1关:汉字国标码转区位码实验.txt
2020-06-09 16:42:00第1关:汉字国标码转区位码实验.txt -
区位码,国标码,机内码转换
2018-01-11 12:23:012.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; }
-
关于『区位码』、『国标码』、『机内码』的转换问题
2021-10-07 16:55:15国标码=区位码+20 20 H 机内码=国标码+80 80 H 机内码=区位码+80 80 H 判断西文字符和中文字符的方式 西文字符<80H 中文字符>A0 A0H 如果要深入了解机制还要从最开的西文字符——ASCII码说起 1....先直接上结论
首先我门要把 区位码(十进制)D 转化为 区位码(十六进制)H 下面的区位码默认为十六进制
国标码=区位码+20 20 H
机内码=国标码+80 80 H
机内码=区位码+80 80 H
判断西文字符和中文字符的方式
西文字符<80H
中文字符>A0 A0H
如果要深入了解机制还要从最开的西文字符——ASCII码说起
1.西文字符——ASCII
(1)128个字符集(8*16),32个控制字符,96个可打印
(2)7位编码,每个占 1字节
(3)常用的ASCII
——数字类0~9:“0”——30H(48)
——大写字母A~Z :“A”——41H(65)
——小写字母a~z :“a”——61H(97)
通过观察我们可以看到前两排为控制符 即 控制字符与可打印字符 相差20H
2.中文字符——GB2312
(1) GB,国标 GB2312 是国家在1980年提出的标准 ,其中6763个简体汉字和682个简体符号。整个字符集可以看作一个94X94的列表,通过区号和位号来表示某个字。
(2)区位号=区号+位号 为了可读性,区位码多以十进制表示
中文的字符一般占 2字节
(3)为了和ASCII码区别,区号和位号的最高位都为1
在计算机打印字符时
最早GB2312是决定把ASCII的字符部分覆盖,只保留不可打印的控制字符,因此在区位码转换为国标码需要加 20 20H (即ASCII表相差的两行)即 国标码=区位码+20 20 H
但是在这样做读取某些由ASCII 文章时出现了乱码,于是干脆就在ASCII的基础上 第一位变为1
即 机内码=国标码+80 80 H
参考GB2312区位码转机内码为什么要同时加上2020H和8080H? - 知乎
-
[计 算 机]汉字区位码\国标码\机内码之间的换算
2021-07-25 01:00:54该楼层疑似违规已被系统折叠隐藏此楼查看此楼国标与机内码的转换国标码并不等于区位码,它是由区位码稍作转换得到,其转换方法为:先将十进制区码和位码转换为十六进制的区码和位码,;这样就得了一个与国标码有一个...该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
国标与机内码的转换
国标码并不等于区位码,它是由区位码稍作转换得到,其转换方法为:先将十进制区码和位码转换为十六进制的区码和位码,;这样就得了一个与国标码有一个相对位置差的代码,;再将这个代码的第一个字节和第二个字节分别加上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。
-
计算机中文编码《区位码\国标码\机内码》进阶史
2021-10-11 22:53:13将一些常用符号及汉字,按区与位的方式编入码表,这套编码便是区位码。 一、区位码 区位码是一个四位的十进制数,高两位为区码(01-94),低两位为位码(01-94),由此组成一个94×94的矩阵,每个码值都... -
c# 批量汉字区位码、机内码、国标码转换
2014-07-25 14:55:35今天有一个朋友找我让我帮忙写一个程序,要实现汉字国标码、机内码、区位码的相互转换,写完后我把程序放上来大家一起分享。 能实现一行汉字中每个字分别自动转换成多种编码。开源!在DEBUG里面有可运行程序直接使用... -
汉字机内码、国标码和区位码之间转换关系图
2021-07-25 07:33:061、区位码区位码 (4 4位十进制位十进制) 国标码国标码 (十六进制十六进制) 机内码机内码 ( (十六进制十六进制) ) 2 2字节区位码字节区位码 (十六进制十六进制) + +20202020H H 2 2组十六进制转换组十六进制转换 (... -
区位码、国标码、机内码、字型码
2017-11-29 23:41:26一、区位码 区位码是一个四位的十进制数,前两位叫做区码(01-94),后两位叫做位码(01-94)。汉字与符号组成一个94×94的矩阵...区位码是一个四位的十进制数,国标码是一个四位的十六进制数。为了和ASCII码兼容,汉字输 -
国标码、区位码、机内码之间的转换关系
2021-03-14 19:23:011. 3种码的进制表示国标码:16进制H区位码:10进制D 2位机内码:16进制H2. 3者之间的关系国际码 = 转化为十六进制的区位码(注意将4位的区位码前两位和后两位分开来转化,而非全部同时转化) + 2020H机内码 = 国际码 +... -
国标码、机内码、区位码的关系以及运算
2019-06-18 14:37:21国标码 = 区位码 + 2020H; 机内码 = 国标码 + 8080H; 2、运算规则: (1)将区位码中的区码和位码分别转换为十六进制数; (2)区位码的十六进制数+2020H = 国标码; (3)国标码+8080H = 机内码; 3、例题 ... -
educoder 国标码转区位码实验(详细)
2020-06-16 12:39:43首先使用logisim打开data.circ文件,打开后点击国标码转区位码,可以看到下图所示页面: 点击右上角工具栏的箭头, 将电路连接为如下样式: 然后在滑动左侧滑块, 找到“线路”, 点击左侧的‘+’, 在里面找到... -
大学计算机基础字符的编码——区位码和国标码
2021-07-21 00:10:53《大学计算机基础字符的编码——区位码和国标码》由会员分享,可在线阅读,更多相关《大学计算机基础字符的编码——区位码和国标码(11页珍藏版)》请在人人文库网上搜索。1、字符的编码,计算机是以二进制的形式存储和... -
汉字编码:区位码、国标码、机内码
2020-03-11 09:54:14概念 1. 汉字编码 为每个汉字编上唯一的...GB2312是一种汉字编码方式,具体由区位码实现,GB2312将所有汉字编入一个94*94的二维表中,行和列共同定位一个字,行就是“区”,列就是“位”,合并就为区内码。区位码... -
输入码、区位码、国标码与机内码关系简介【转载】
2021-01-26 03:23:49目前,我国已推出的输入 码有数百种,但用户使用较多的约为十几种,按输入码编码的主要依据,大体可分为顺序码、音码、形码、音形码四类,如"保"字,用全拼,输入码为码 为"BAO",用区位码,输入码为"1703",用五笔... -
汉字国标码转区位码的实验( EduCoder实验一)
2021-09-22 23:48:18汉字国标码转区位码的实验 一.基础内容 二.EduCoder(实验一:汉字国标码转区位码) 一.基础内容 区位码是啥? 定义:区和位构成唯一的二维数组 区号:2位,位号:2位,都用十进制表示 2. ... -
机外码、区位码、国标码、机内码
2020-06-01 15:42:16目前,我国已推出的输入码有数百种,但用户使用较多的约为十几种,按输入码编码的主要依据,大体可分为顺序码、音码、形码、音形码四类,如“保”字,用全拼,输入码为“BAO”,用区位码,输入码为“1703 ”,用五笔... -
区位码,国标码,交换码,内码,外码
2018-11-27 23:49:56GB2312 是基于区位码设计的,在区位码的区号和位号上分别加上 A0H 就得到了 GB2312 编码。这里第一次提到了“区位码”...区位码,国标码,交换码,内码,外码 区位码:就是把中文常用的符号,数字,汉字等分门... -
汉字机内码、国标码和区位码定义区别(含例子)
2012-06-14 08:44:01汉字机内码、国标码和区位码定义区别(含例子) -
区位码、国标码、机内码
2022-03-28 17:34:28中文机内码四、汉字的区位码、国标码、机内码转换1. 区位码、国标码、机内码转换2. 举例五、点阵字型码 一、区位码 区位码是一个四位的十进制数,前两位叫做区码(01-94),后两位叫做位码(01-94)。汉字与符号组成一... -
【转】刨根究底字符编码之六——简体汉字编码中区位码、国标码、机内码、外码、字形码的区别及关系
2020-11-05 15:44:03国标码是什么?内码、外码、字形码又是什么意思?它们是如何转换的,又为什么要这样转换? 下面以GB2312为例来加以说明。 一、区位码 1. 整个GB2312字符集分成94个区,每区有94个位,每个区位上只有一个字符,... -
汉字区位码、国标码(交换码)和机内码转换方法
2016-04-17 06:41:12一、区位码为了适应计算机处理汉字信息的需要,1981年我国颁布了GB2312国家标准。该标准选出6763个常用汉字(其中,一级常用汉字3755个,二级汉字3008个)和682个非汉字字符,并为每个字符规定了标准代码,以便在... -
汉字编码-区位码、国标码和内码发展和区别以及为什么要加2020H、8080H
2016-02-22 19:31:31区位码是什么?国标码是什么?它们如何转换又为什么这么转换? 首先来看一看什么是区位码?什么是国标码?什么是内码? 区位码: GB2312是一种中文的编码方式,具体是由区位码来实现的。GB2312将所有的汉字编入... -
【计组笔记-1】ASCII码,区位码,国标码,汉字内码,以及万国码
2021-04-10 11:36:38在学习计组时,了解到区位码是用一个94x94的表格记录常用汉字与特殊字符,特殊字符中包含字母,数字,希腊字母,拼音,一些几何图标,箭头,书名号等等等等,链接如下:区位码百度百科 但是其中并不包含控制字符或... -
国标转区位码电路设计及汉字显示
2021-11-09 12:34:44区位码=国际码-2020H,由于采用加法器实现,因此用补码形式进行表示,区位码= 国际码+FFFF-2020H+0001H=国际码+dfe0。 从网上找下机内码转化的软件,将一段自选文字输入该软件,进行十六进制的机内码转化。由于一个... -
区位码、国标码与机内码
2016-02-12 19:36:06区位码、国标码、机内码的转换 区位码的区码和位码均采用从01到94的十进制,国标码采用十六进制的21H到73H(数字后加H表示其为十六进制数);把换算成十六进制的区位码加上2020H(十六进制数20即十进制数32),就... -
输入码、区位码、内码、国标码的出现原因
2020-07-10 11:53:22区位码、内码、国标码怎么转换非常简单,但是令人迷惑的是为什么要那么转换?这种转换不可能平白无故地那样转换! 首先,注意到一点,GB2312虽说是对中文编码,但是里面有对26个英文字母和一些特殊符号的编码,按理...