以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 网友互助 』  (http://bbs.xml.org.cn/list.asp?boardid=76)
----  求助:区位码转机内码  (http://bbs.xml.org.cn/dispbbs.asp?boardid=76&rootid=&id=49847)


--  作者:悉尼
--  发布时间:7/13/2007 11:31:00 AM

--  求助:区位码转机内码
中文"海"字的区位码是2603,它的机内码是    
     A. B603
     B. A6A3
     C. BAA3  
     D. BAB3                         
                                    (C)  
    是怎么解的呢?我只知道是把2603转成十六进制的,再加上A0A0H,但算不对呢,
兄弟姐妹们帮帮忙啊,多谢!
--  作者:hjx_221
--  发布时间:7/27/2007 7:45:00 PM

--  
根据GB2312-80,GB标准汉字6763个,加上其它字符分成87区94位,每一个汉字都可用一个十进制的区号+位号来表示,这就是区位码。
而国标码则是十六进制的双字节代码,每个字节分别对应区号和位号,所以只要对十进制的区位码分别将区号和位号转换成十六进制就是国标码。
而机内码则是国标码在计算机内的存放形式,为了与ASCII码兼容,汉字机内码每个字节的最高位必须是“1”,所以只要将国标码加上8080H就成为机内码。
简单的方法
机内码 减 8080  就是国标码。
再减 2020 就是区位码



W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
35.156ms