delphi XE的字符串处理
最近用delphi xe做了个东西,因为以前一直使用Delphi 7做开发,delphi 7 到delphi XE有了很大的变化,最大的变化就是对Unicode的支持,所以刚开始使用DELPHI XE时还有些不太习惯,尤其在字符串处理的时候。
DELPHI XE 增加了UnicodeString 类型,这在Delphi 7中是没有的,默认的String字符串为UnicodeString,而String在Delphi 7中是AnsiString类型,在新版的DELPHI中,字符串的存储格式也发生了变化:
在DELPHI7中,字符串的存储格式是这样子的:
【引用计数位(-8byte)】【字符串长度(-4byte)】【字符串内容】
这一结构在DELPHI2009时发生了变化,增加了代码页、元素长度两部分内容:
【代码页(-12byte)】【元素长度(-10)】【引用计数位(-8byte)】【字符串长度(-4byte)】【字符串内容】
在新版本的DELPHI中,不论是UnicodeString类型还是AnsiString类型,都遵循上面结构,不同之处是元素长度部分,UnicodeString类型元素长度部分为2,而AnsiString类型元素长度部分为1,也就是说,Unicode字符串中每个字符占用两个字节的位置,而AnsiString占用一个字节的位置。
转载于:https://www.cnblogs.com/MaxWoods/p/3305505.html
delphi XE的字符串处理相关推荐
- Delphi7升级到Delphi 2010、Delphi XE、Delphi XE2总结 .
Delphi7升级到Delphi 2010.Delphi XE.Delphi XE2总结 这两天把一个使用Delphi2007成功升级到了Delphi2010.升级途中很艰辛,总结了 以下经验与大家分 ...
- RAD Studio 10.4 for delphi XE Assigned和Nil的联系与区别
RAD Studio 10.4 for delphi XE Assigned和Nil的联系与区别 一.原理 系统级别的函数System.pas : System.Assignedfunction As ...
- delphi XE关于微信公众号支付及微信零钱支付的便捷解决方案
delphi XE关于微信公众号支付及微信零钱支付的便捷解决方案 https://download.csdn.net/download/pulledup/12683611 一.需求 因为微信公众号支付 ...
- delphi XE应用Restful时Rest组件的delphi XE ContentType即delphi XE mime type怎样获取和表达
delphi XE应用Restful时Rest组件的delphi XE ContentType即delphi XE mime type怎样获取和表达 一.uses REST.Types; //var ...
- delphi XE 10实现App和PC下TreeView调用ImageList和Sqlite数据
delphi XE 10实现App和PC下TreeView调用ImageList和Sqlite数据 一.工程 program TreeView; usesSystem.StartUpCopy,FMX. ...
- Delphi XE 使用 MySQL 数据库一个奇怪的问题
Delphi XE 使用 MySQL 数据库一个奇怪的问题 我用的是自带的 ADO 组件连接 MYSQL ,连接很简单,如下: 1.下载一个 MYSQL 驱动安装上 下载地址 2.连接串 Adoc.C ...
- Delphi XE 10.4 FMX ListView 一个不易察觉的 BUG
Delphi XE 10.4 FMX ListView 一个不易察觉的 BUG 在使用 ListView DynamicAppearance 时发现非常强大,可以加很多东西,但没有发现复选框(哪位大佬 ...
- 封装的ini文件类。保存为unicode的。解决delphi xe的TiniFile保存后不为unicode的问题...
网络摘抄 //刚封装的ini文件类.保存为unicode的.解决delphi xe的TiniFile保存后不为unicode的问题 //今天发现delphi xe的TiniFile类保存后的文件不是以 ...
- delphi xe 10.3 firemonkey stringdrig 插入,删除,添加
以下是在WIN7 64 ,delphi xe 10.3 以下成功运行: 运行界面: 代码 unit Unit1; interface uses System.SysUtils, System.Ty ...
最新文章
- apache安装mod_ssl.so 出现 undefined symbol: ssl_cmd_SSLPassPhraseDialog错误解决
- 向 Internet Explorer 添加 Google 搜索
- linux 下的远程上传命令行,使用scp命令用命令行从服务器上传下载文件
- 数学不好的人可以学python吗_哪些人适合学金融工程专业 数学不好能学吗
- matlab的7.3版本是什么_MX Linux 19.3 发布,Debian和antiX Linux的混合版本
- Android -- Exif
- 70.(cesium篇)cesium接入天地图影像与注记(经纬度)
- Android开启OTG功能/USB Host API功能
- 什么是数字化的马太效应
- 华为鸿蒙系统失败,世界首富很无奈,第三大手机系统失败,华为鸿蒙会成功吗...
- [Poi2003 ][bzoj 2601]MAL猴子捞月
- NOIP200703守望者的逃离
- minio数据迁移工具rclone
- GitHub爆款项目,去马赛克软件Depix使用
- 电脑怎么重装系统?超简单小白一键重装教程
- C++重载双目运算符
- 程序员之“盲人摸太阳”
- 明白的糊涂账 各家单反测光系统全解析
- 流浪只是为了更好的浪
- Adobe photoshop cc启动后,新建命令不能用,背景黑色的解决方法