字符数据以其ASCII码值(即一个字节)的形式存储在内存中。所有数据类型都以二进制代码0和1的形式存储在内存中。这个原则不会改变。
在C中,char类型数据的目的是将一个常量字符放入字符变量中,并不是将字符本身放入内存模块中,而是将该字符对应的ASCII码放入存储模块中。
在加密过程中,1个汉字需要2个字节来存储。在UTF-8编码中,英文字母字符需要存储1个字节,汉字需要存储3到4个字节。在UTF-16编码中,1个英文字母字符或1个汉字需要2个字节来存储。在UTF-32编码中,存储世界上任何字符都需要4个字节。
扩展信息:
由于标准ASCII字符集中的字符数量有限,在实际应用中往往无法满足要求。为此,国际标准化组织制定了ISO2022标准,该标准提供了将ASCII字符集扩展为8位代码的统一方法,同时保持与ISO646的兼容性。
ISO制定了一套适合不同地区的顺序扩展的ASCII字符集。每个扩展ASCII字符集可以扩展128位1个字符(即十进制数128~255),称为扩展ASCII码。
参考来源:百度字符编码百科
上一篇:设置虚拟内存不重启有用吗
下一篇:实型数据在内存中的存储形式