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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 内网渗透神器_内网渗透什么意思

    内网渗透神器_内网渗透什么意思内网渗透-常用工具免杀Mimikatz免杀Mimikatz其实并不只有抓取口令这个功能,它还能够创建票证、票证传递、hash传递、甚至伪造域管理凭证令牌等诸多功能。由于mimikatz的使用说明网上资料很多,这里就不多加介绍了,随着这两年hw行动越来越多,企事业单位也都开始注重内网安全,有预算的会上全套的终端安全、企业版杀软或者EDR,就算没有预算的也会装个360全家桶或者主机卫士之类的,这也导致很多时候你的mimikatz可能都没法拷贝过去或者没有加载执行,拿了台服务器却横向移不动就尴尬了。因为这款工

    2022年8月20日
    10
  • 文件上传漏洞攻击与防范方法[通俗易懂]

    文件上传漏洞攻击与防范方法[通俗易懂]文件上传漏洞攻击与防范方法文件上传漏洞简介:文件上传漏洞是web安全中经常用到的一种漏洞形式。是对数据与代码分离原则的一种攻击。上传漏洞顾名思义,就是攻击者上传了一个可执行文件如木马,病毒,恶意脚本,WebShell等到服务器执行,并最终获得网站控制权限的高危漏洞。文件上传漏洞危害:上传漏洞与SQL注入或XSS相比,其风险更大,如果Web应用程序存在上传漏洞,攻击者上传…

    2022年4月19日
    354
  • mysql中OPTIMIZE TABLE的作用

    mysql中OPTIMIZE TABLE的作用

    2021年9月18日
    51
  • pycharm汉化包

    pycharm汉化包更新一个pycharm汉化包,下面给出具体炒作流程1.解压压缩包,里面一共有两个东西第一个文件夹是汉化的所有文件,(简单的说就是第二个文件解压后的文件,不过第二个文件本身并不是压缩包,只是可以用解压的方式打开而已)2.解压以后,将resources_cn复制,粘贴到pycharm的lib目录下,具体目录如下图3.将resources_cn粘贴到这个目录下…

    2022年5月9日
    54
  • 电流转电压几种电路

    电流转电压几种电路几种电流转电压变换的实现方法时间:2011-08-1914:28  作者:赛微编辑  来源:网络     介绍几种I/V变换的实现方法:  分压器方法   利用如图1分压电路,将电流通入电阻。在电阻上采样出电压信号。其中,可以使用电位器调节输出电压的大小。这种方法最简单,但需要考虑功率和放大倍数的选择问题。     霍

    2022年5月5日
    45
  • stringtokenizer是什么意思_string getbytes

    stringtokenizer是什么意思_string getbytesStringTokenizer是一个用来分隔String的应用类。构造函数publicStringTokenizer(Stringstr)publicStringTokenizer(Stringstr,Stringdelim)publicStringTokenizer(Stringstr,Stringdelim,booleanreturnDelims)第一个参

    2022年8月11日
    6

发表回复

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

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