Delphi字符串处理

悲催啊,使用了这么久的Delphi,还是没有理解字符串。今天看了一篇文章稍有理解。

  1.段字符串ShortString。

    短字符串的管理师这样的,类似数组:0处保存字符串的长度,从1处开始了内容,ShortString的总长度是256,因此,实际的内容长度只能为255,并且内容结束没有结束字符,即不是以#0结尾的。

  2.Ansi-String.

  Delphi里面默认的字符串是Ansi-string,这种字符串是以#0为结尾的,这样就可以同PChar相互的转换。

3 对于string类型,到底是当做那种字符串类型来处理,这样用编译指令{$H};来确认的,打开代表是Ansi-string,这种是系统默认的。关闭代表shortString,这种事系统默认的。另外,定义string[N].0<N<=255.

4 单字节、双字节

  具体是哪种,决定了表示的方式、长度。并不是说只有用WideString来表示汉字,但是取的时候要注意。

  procedure TForm1.btn4Click(Sender: TObject);
var
  s: string;
  ws: WideString;
begin
  s := 'I''m a student学生';
  ws := 'I''m a student学生';
  ShowMessage(s[Length(s)]);  //这样取得的是空的,并不是说明s不能表示汉字
  ShowMessage(AnsiLastChar(s)); //显式说明为Ansi这种方式表示
  ShowMessage(ws[Length(ws)]);  //这种不会混淆,可以直接取
end;

关于string丰富的操作来自于StrUtils。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值