2013-04-27 225 views
10

\x1a字符是什么意思,为什么mysql_real_escape_string可以逃脱它? x1a字符的含义是什么

从文档:

mysql_real_escape_string()调用MySQL的库函数mysql_real_escape_string,其中前添加反斜杠以下字符:\ X00,\ n,\ r,\,”,“和\ X1A

字符参考ASCII描述为Substitute character,但这并不多言。

+0

我相信'1A'是'Ctrl + Z',它通常用于EOF。 – Brad 2013-04-27 18:39:31

回答

6

这是一个Unicode escape sequence, in hexadecimal (base 16)\x1a"substitute" character

参见:http://en.wikipedia.org/wiki/Substitute_character


为什么mysql_real_escape_string逃生呢?

According to the documentation,

严格地说,MySQL的只要求反斜杠和用于引用查询字符串转义引号字符。 mysql_real_escape_string()引用其他字符以使它们更容易在日志文件中读取。

+1

为什么'mysql_real_escape_string'转义它? – 2013-04-27 18:44:33

2

它是SUB character的十六进制转义序列。

+1

为什么'mysql_real_escape_string'转义它? – 2013-04-27 18:43:45

+4

由于MySQL通过网络流传输,并且EOF字符可能被解释为流的结束。 – 2013-04-27 18:45:17

+1

这不是文档引用的原因。 – 2013-04-27 18:48:15

4

\x1aSUB控制字符,用于标记文件结尾(EOF)。

7

\ x1A是CTRL + Z控制字符。它也是EOF标记。