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文件的特殊之处吧。