Delphi中谨慎使用QuotedStr、QuotedString、DequotedString相关的函数

Delphi中谨慎使用QuotedStr、QuotedString、DequotedString相关的函数//以下测试代码vars,ss:string;begin//1.添加定界符(内容中含定界符的要转义)ss:=QuotedStr(s);//单引号ss:=s.QuotedString(””);//单引号//2.添加指定的定界符(内容中含定界符的要转义)ss:=AnsiQuotedStr(s,'”‘);//双引号ss:=s.QuotedString(‘”‘);//双引号//3.去掉定界符(内容中含连续两个定界符的要反转义)…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

//以下测试代码
var
  s, ss: string;
begin
  //JSON中包含大量双引号,方便测试出效果
  with TStreamReader.Create('全国adcode.json', TEncoding.UTF8) do
  try
    s := ReadToEnd;
  finally
    Free;
  end;
  //1.添加定界符(内容中含定界符的要转义)
  ss := QuotedStr(s);//单引号
  ss := s.QuotedString('''');//单引号

  //2.添加指定的定界符(内容中含定界符的要转义)
  ss := AnsiQuotedStr(s, '"');//双引号
  ss := s.QuotedString('"');//双引号

  //3.去掉定界符(内容中含连续两个定界符的要反转义)
  ss := AnsiDequotedStr(s, '"');//双引号
  ss := s.DeQuotedString('"');//双引号
end;

//经测试发现在个别情况下StringHelper方法非常慢
//1.s中含有大量双引号时,添加双引号定界符
//ss := s.QuotedString('"');//非常慢,比ss := AnsiQuotedStr(s, '"')慢几十倍
//2.s中含有大量双引号转义时,去除双引号定界符
//ss := s.DeQuotedString('"');//非常慢,比ss := AnsiDequotedStr(s, '"')慢几十倍
//3.单引号的添加与去除也是一样的
//所以,使用StringHelper的QuotedString和DeQuotedString方法时,要注意
//通过查看源码,发现AnsiQuotedStr和AnsiDequotedStr使用的指针操作
//而StringHelper的QuotedString和DeQuotedString使用逐个字符拷贝

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180714.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SpringBoot+jsp项目启动出现404[通俗易懂]

    SpringBoot+jsp项目启动出现404[通俗易懂]SpringBoot+jsp项目启动出现404

    2022年4月21日
    126
  • vue filters 是什么?怎么使用?

    vue filters 是什么?怎么使用?vuefilters是什么?首先:filter翻译成中文是过滤器的意思。而在Vue中作用其实就是对字段进行预处理怎么使用呢?就用一个小Demo,讲解一下!目的:对字段进行处理,打印出“Helloworld!!!”首先,打印出“Helle”<template> <view> {{demo}} </view></template…

    2022年5月21日
    47
  • pycharm安装后如何使用_Pycharm安装教程

    pycharm安装后如何使用_Pycharm安装教程http://blog.csdn.net/u014044812/article/details/78727496 激活码https://www.cnblogs.com/beginner-boy/p/7785041.html由于本人也是开发语言的学习小白,所以对于开发时使用的工具也不算太熟悉,不过这里还是要推荐一下本人使用过的两款工具:1、pycharm ;2、eclipse这是我用的比较顺…

    2022年8月28日
    4
  • 长按复制[通俗易懂]

    长按复制[通俗易懂]2019独角兽企业重金招聘Python工程师标准>>>…

    2022年9月29日
    5
  • 用matlab产生时域离散信号实验报告(有关数字信号处理)

    1.正弦序列离散正弦序列的MATLAB表示与连续信号类似,只不过是用stem函数而不是用plot函数来画出序列的波形。下面就是正弦序列的MATLAB源程序。%正弦序列实现程序k=0:39;fk=sin(pi/6*k);stem(k,fk)2.指数序列离散指数序列的一般形式为,可用MATLAB中的数组幂运算(即点幂运算)c*来实现。下面为用MATLAB编写绘制离散时

    2022年4月10日
    199
  • PAC模式和全局模式「建议收藏」

    PAC模式和全局模式「建议收藏」PAC模式和全局模式,两种模式优缺点如下:【PAC模式】也就是智能分流模式,根据规则去匹配你访问的网站,仅加速国外网站,国内网站不受影响,非常智能;优点:节省流量,国内网站依旧走本地网络,速度快,绝大部分国外网站都走代理,速度也快。缺点:少部分国外网站不走代理,无法起到加速效果,甚至无法访问(解决方案:自己编辑PAC规则列表,将不走代理的国外网址加入进去,或者直接选择全局模式)。【全局模式】国内、国外所有网站都走代理。优点:可访问全球所有网站。缺点:所有网站都走代理,访问国内网站速度

    2022年10月19日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号