西门子 |
您所在的位置:网站首页 › 字符串最大字符是什么 › 西门子 |
西门子——不同数据的存储方式(String)
前言一、String(字符串类型)1.结构分析2.声明变量
二、WString(字符串类型——中文)1.结构分析2.声明变量3.举例说明
参考资料
前言
研究通讯时,小问题派生的支线,首次记录String数据类型,后续有时间的再慢慢扩充其他类型。 一、String(字符串类型) 1.结构分析在西门子S7-300、400、1200、1500系列中,字符串(string)其实是以字符(char)数组的形式表示,最大可分配的空间为256字节。 来看一下结构图示: 在变量声明区声明如下: 1):默认长度(254),实际偏移256(256 - 0 总共占256字节) 2):设置长度(10) ,实际偏移12 (268 - 256 总共占12字节) 二、WString(字符串类型——中文) 1.结构分析在西门子S7-300、400、1200、1500系列中,字符串(Wstring)其实是以宽字符(wchar)数组的形式表示,最大可分配的空间为256个wchar,256 * 2个字节。 wchar是用两个char以UTF16编码表示。 关于字符编码的对于转换请看 来看一下结构图示: 由图片可以看出,Wstring是一个宽字符数组(Wchar[]),以两个char组成一个wchar合并记录字符。与string类型相似,第一个wchar记录最大字符数(wchar的个数,不是char的个数),第二个wchar记录实际的字符个数(wchar的个数,不是char的个数),往后就是每个wchar代表着字符对于的UTF16编码。 2.声明变量在变量声明区声明如下: 1):默认长度(254 个 wchar),实际偏移254 * 2 + 2 * 2= 512(794 - 282 = 512 总共占512字节) 2):设置长度(10 个 wchar) ,实际偏移10 * 2 + 2 * 2 = 24 (818 - 794 = 24 总共占24字节) 3.举例说明设置如下图: 又因为西门子内存存储是大端表示所以数据高位存在低内存中(图中可见:数据254(0x00 0xFE)0x00就是数据高位,地址DBB282就是低内存;0xFE就是数据低位地址DBB283就是高内存) 参考资料1.http://www.founderchip.com/?id=335 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |