Delphi中JSON回车换行符转义

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi中JSON回车换行符转义相关的知识,希望对你有一定的参考价值。

参考技术A        Delphi使用json作为标准对接的时候,如果入参含有回车和换行符那么会破坏原json数据结构。导致服务端处理异常。这个时候就需要对输入的json字符串进行转义。

      首先Delphi中#13代表回车,#10代表换行。所以在转义的时候这2种情况都要考虑到。

比如原JSON字符串 stJson ,转义如下:

stJson:=StringReplace (stJson, #13 '\\r', [rfReplaceAll]);

stJson:=StringReplace (stJson, #10 '\\n', [rfReplaceAll]);

转义字符

转义字符是一种特殊的字符常量。转义字符以反斜线"\"开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。例如,在前面各例题printf函数的格式串中用到的“\n”就是一个转义字符,其意义是“回车换行”。转义字符主要用来表示那些用一般字符不便于表示的控制代码。 
常用的转义字符及其含义
转义字符 转义字符的意义
\n 回车换行
\t 横向跳到下一制表位置
\v 竖向跳格 垂直制表符
\b 退格
\r 回车
\f 走纸换页
\\ 反斜线符"\"
\‘ 单引号符
\a 鸣铃
\ddd 1~3位八进制数所代表的字符
\xhh 1~2位十六进制数所代表的字符
广义地讲,C语言字符集中的任何一个字符均可用转义字符来表示。\ddd和\xhh正是为此而提出的。ddd和hh分别为八进制和十六进制的ASCII代码。如\101表示字?quot;A" ,\102表示字母"B",\134表示反斜线,\XOA表示换行等。

以上是关于Delphi中JSON回车换行符转义的主要内容,如果未能解决你的问题,请参考以下文章

如何去掉文本中的回车换行符或任意字符

python回车不能换行而是执行怎么办

delphi xe7的unit代码窗按回车不换行解决办法

Python编程中,按回车实现换行的疑惑。

关于C语言中的换行符和回车符

java中 怎么将String字符串 中的 转义字符(回车、换行、空格等)在未知的情况下,转换为字符串形式输出