MDK的hex文件对汉字的存储

查询系统编码方式,发现为GBK

936对应GBK

hex文件的ASCII码译码文件(工具:Winhex)

0xC000-0xB000=0x1000=8
单行占据地址8,在STM32的32位芯片中,每一处地址对应32位即4个字节,故地址范围8对应32字节。图中单行数据有16组,每组2个字符,共32个字符,故每个字符对应一个字节。

编1E0:

“编”的GBK编码为B1E0,其对应的hex文件格式为42 31 45 30
“1”的GBK编码为31,其对应的hex文件格式为33 31

在进行本实验之前,以为“编”的hex文件数据为B1E0,“1”的hex文件数据为31,没想到不是直接存储其编码结果到hex文件,而是将其编码结果再根据ASCII码转化一遍再存储到hex文件。
查询资料可知,GBK使用两个字节来表示汉字,并兼容ASCII码。所以在hex中使用四个字节表示汉字,两个字节表示ASCII码表上的符号,可能是MDK的hex文件的特殊之处吧。

posted @ 2022-04-14 14:31  中庭之园  阅读(152)  评论(0编辑  收藏  举报