zoukankan      html  css  js  c++  java
  • 区位码、国标码、机内码

    一、区位码

           1980年,为了使每一个汉字有一个全国统一的代码,我国颁布了第一个汉字编码 国家标准 GB2312-80《信息交换用汉字编码字符集》基本集,这个字符集是我国中文信息处理技术的发展基础,也是目前国内所有汉字系统的统一标准。
    国标码是一个四位十六进制数,区位码是一个四位的十进制数,每个国标码或区位码都对应着一个唯一的汉字或符号,但因为十六进制数我们很少用到,所以大家常用的是区位码,它的前两位叫做区码,后两位叫做位码。
        汉字库分布情况如下:
          
     一级汉字  16-55
          
     二级汉字  56-87
          
     三级汉字  1-9
          
     空闲未用  10-15
      通常,在DOS下的各汉字系统中,同时按Alt键和F1键即可调用区位码输入方法。而在Windows中常用Ctrl+空格键和Ctrl+Shift键调出区位码。如“2901”代表字,“4582”代表字,“8150”代表字,这些都是汉字,用区位码还可以很轻松地输入特殊符号,比如,“0189”代表”(符号)“0528”代表”(日本语),“0711”代表“Й”(俄文)“0949”代表”(制表符)
      在区位码中,01-09区为特殊字符,10-55区为一级汉字(3755个最常用的汉字,按拼音字母的次序排列)56-87区为二级汉字(3008个汉字,按部首次序排列) 在区位码汉字输入方法中,汉字编码无重码,在熟练掌握汉字的区位码后,录入汉字的速度是很快的,但若想记忆住全部区位码是相当困难的,常使用于录入特殊符号,如制表符、希腊字母等,这里简单介绍几个区。

    区位码 - 部分国际区位编码

      区号:01 【各类符号】
    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
    0100  、  · ˉ ˇ ¨   -  ‖ … ' ' " "   
    0120      」『      ± × ÷    ∑ ∏ 
    0140  ∩   √      ∫  ≡  ≈   ≠   
    0160 ≤ ≥ ∞   ♂ ♀ ° ′ ″   ¤   ‰ § №   
    0180 ○ ●    □ ■  ▲  → ← ↑ ↓  
      区号:02 【各类数字】 
    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
    0200             
    0220                     
    0240                     
    0260                  
    0280             
      区号:03 【符号、字母】
    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 
    0300       '(            
    0320                    
    0340                     
    0360    _                 
    0380                
      区号:06 【罗马字母】
    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 
    0600 Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ 
    0620Υ Φ Χ Ψ Ω α β γ δ ε ζ η 
    0640θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω 
    0660 0680
      区号:08 【汉语拼音】 
    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 
    0800 ā á ǎ à ē é ě è ī í ǐ ì ō ó ǒ ò ū ú ǔ 
    0820 ù ǖ ǘ ǚ ǜ ü ê    
    0840                     
    0860               
    0880 
      区号:09 【制表字符】 
    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 
    0900 ─  │          ┌    
    0920 ┐    └    ┘    ├        
    0940 ┤        ┬        ┴    
    0960     ┼                
    0980

     

    二、机外码

    机外码 目前常用的机外码主要有区位码,国标码,首尾码,拼音码,五笔字型等

    三、国标码

    中国国家标准汉字信息交换码

    二、区位码、国标码、机内码

    汉字机内码,又称汉字ASCII,简称内码,指计算机内部存储,处理加工和传输汉字时所用的由01符号组成的代码。输入码被接受后就由汉字操作系统输入码转换模块转换为机内码,与所采用的键盘输入法无关。机内码是汉字最基本的编码,不管是什么汉字系统和汉字输入方法,输入的汉字外码到机器内部都要转换成机内码,才能被存储和进行各种处理。

      汉字在计算机内部其内码是唯一的。因为汉字处理系统要保证中西文的兼容,当系统中同时存在ASCII和汉字国标码时,将会产生二义性。例如:有两个字节的内容为30H21H,它既可表示汉字的国标码,又可表示西文“0”“!”ASCII码。为此,汉字机内码应对国标码加以适当处理和变换。

    GB码的机内码为二字节长的代码,它是在相应GB码的每个字节最高位上加“1”,即

      汉字机内码=汉字国标码+8080H

      例如,上述字的国标码是3021H,其汉字机内码则是B0A1H

      汉字机内码的基础是汉字国标码

      机内码:为了避免ASCII码和国标码同时使用时产生二义性问题,大部分汉字系统都采用将国标码每个字节高位置1作为汉字机内码。这样既解决了汉字机内码与西文机内码之间的二义性,又使汉字机内码与国标码具有极简单的对应关系。

    汉字机内码、国标码和区位码三者之间的关系为:区位码(十进制)的两个字节分别转换为十六进制后加20H得到对应的国标码;机内码是汉字交换码(国标码)两个字节的最高位分别加1,即汉字交换码(国标码)的两个字节分别加80H得到对应的机内码;区位码(十进制)的两个字节分别转换为十六进制后加A0H得到对应的机内码。

      举例:机内码位BEDF,求区位码?

      有两种解法:1.BEDFH-A0A0H=1E3FH=7743D

    2.BEDFH-8080H=3E5FH(国标码),3E5FH-2020H=1E3FH=7743D

  • 相关阅读:
    03-数据结构(C语言版)
    01C语言基础(二)
    python杂项
    mmdetection源码阅读
    建立文件软连接
    python将test01文件夹中的文件剪切到test02文件夹中
    Probabilistic two-stage detection
    Activate-or-Not:learning-customized-activation
    CenterNet和CenterNet2笔记
    OpenCV视频检测人脸
  • 原文地址:https://www.cnblogs.com/whisht/p/4098855.html
Copyright © 2011-2022 走看看