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回车换行符转义的主要内容,如果未能解决你的问题,请参考以下文章