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.去掉定界符(内容中含连续两个定界符的要反转义)…


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

相关推荐

  • VirtualBox 中的Centos如何安装VBoxGuestAdditions

    VirtualBox 中的Centos如何安装VBoxGuestAdditions最近在VirtualBox的虚拟机中安装Centos遇到一个问题:如何安装VBoxGuestAdditions功能。查了很多资料这个博客写的还靠谱些:https://blog.csdn.net/nanalinlinlin/article/details/47169811整理了下这里我用到的命令:一、安装VBoxGuestAdditions1、yumupdate2、yum…

    2022年6月15日
  • LeetCode 1. 两数之和 Two Sum「建议收藏」

    LeetCode 1. 两数之和 Two Sum「建议收藏」给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定nums=[2,7,11,15],target=9因为nums[0]+nums[1]=2+7=9所以返回[0,1] 解决方案方法一:暴力法暴力法很简单。遍历每个元素xxx,并查找是否…

    2022年6月2日
  • beego——XSRF过滤

    beego——XSRF过滤跨站请求伪造,简称XSRF,是Web应用中常见的一个安全问题。当前防范XSRF的一种通用的方法,是对每一个用户都记录一个无法预知的token数据,然后要求所有提交的请求(POST/PUT/DELETE)中都必须带有这个token数据。如果此数据不匹配,那么这个请求就可能是被伪造的关于XSRF攻击的详细内容可以参考博客:https://www.cnblogs.com/yangmin…

    2022年5月19日
  • 对xml文件头内容的理解xmlns xmlns:xsi xsi:schemaLocation

    对xml文件头内容的理解xmlns xmlns:xsi xsi:schemaLocation

    2021年7月19日
  • 网页死链检测方法「建议收藏」

    网页死链检测方法「建议收藏」 了解测试方法之前,先了解下死链、链接的相关概念死链的种类协议死链:页面的TCP协议状态/HTTP协议状态明确表示的死链, 常见的如404、403、503状态等。 内容死链:服务器返回状态是正常的, 但内容已经变更 为不存在、已删除或需要权限等与原内容无关的信息页面。死链出现的原因网站目录更换。 服务器里某个文件移动了位置或者删除。 网站服务器设置错误。 动态链接在数据…

    2022年7月23日
  • NAT( 网络地址转换) 实现

    NAT( 网络地址转换) 实现

    2022年1月2日

发表回复

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

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