c语言中转义字符表,c# 字符串转义
在一个字符串中,如果一个序列有特殊的含义,每个序列都以一个反斜杠(" \ ")开头,这个反斜杠称为转义符。
MySQL识别以下转义字符:
\0一个ASCII 0 (NUL)字符。
\ ASCII 39单引号()字符。
ASCII 34双引号(“”)字符。
\b一个ASCII 8退格字符。
\ n ASCII 10换行符。
\ r ASCII 13回车。
\ tthe ASCII 9选项卡。
\z ASCII(26) (Control-Z).这个字符可以处理Windows系统中ASCII(26)代表文件结尾的问题(使用mysql数据库文件名时,ASCII(26)可能会导致问题)。
\ \一个ASCII 92反斜杠(" \ ")字符。
\%一个ASCII 37 "% "字符。用于搜索文本中“%”的文本实例,否则“%”在这里会被解释为通配符。
\ _一个ASCII 95“_”字符。用于搜索文本中“_”的文本实例,否则“_”在这里会被解释为通配符。
注意:如果在某些上下文中使用了“\%”或“\ _”,将返回字符串“\%”和“\ _”,而不是“%”和“_”。
字符串中的引号可以用以下方式书写:
?字符串用单引号“”引起,字符串中的单引号“”字符可以用“ ”转义。
?字符串用双引号““”引起,字符串中的字符可以用““”转义。
?您也可以继续在引号前使用转义字符“\”进行转义。
?一个字符串用双引号“”引起来,字符串中的单引号“”不需要特殊处理,也不必重复或转义。同样,如果一个字符串用单引号“”引用,那么字符串中的双引号“”就不需要特殊处理,也不需要重复或转义。
下面显示的SELECT演示了引号和转义是如何工作的:
mysql选择 hello 、 hello 、 hello 、 hello 、 \ hello
- - - - -
hello hello hello hel lo hello
- - - - -
mysql选择 hello 、 hello 、 hello 、 hello 、 hello ;
- - - - -
hello hello hello hel lo hello
- - - - -
mysql SELECT This \ nIs \四行;
-
这个
是
四
线条
-
如果要将二进制数据插入字符类型字段(如BLOB ),以下字符必须用转义序列表示:
NuASCII 0,应该用“\0”(一个反斜杠和一个ASCII“0”字符)来表示。
\ ASCII 92,反斜杠。需要用“\”表示。
ASCII 39,单引号。它需要用“\”来表示。
ASCII 34,双引号。需要用“‘”来表示。
如果编写C代码,可以使用C API函数mysql_real_escape_string()对INSERT语句的字符进行转义。在Perl中,您可以使用DBI包中的quote方法将这些特殊字符转换成适当的转义序列。
您应该在任何可能包含上述特殊字符的字符串中使用escape函数!
此外,许多MySQL API提供了一些占位符处理功能,允许您在查询语句中插入特殊标记,然后在执行查询时将数据值绑定到这些标记。这样,API将自动为您将它们从数值转换过来。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。