(ios) 向sqlite数据库中插入的字符串有单引号怎么办啊

现在知道的方式是将变成,或者用ASCII码表示,但是很多变量都有可能有,总不能那么多变量都在存数据库之前转义一下吧,通常的做法是什么样的啊

数据库里面是可以存储单引号的。
需要转义的原因是:单引号,在单引号的字符串里是有特殊意义的。不是数据库不能存储单引号,而是数据库的语法中单引号有特殊意义,所以必须被转义。
键盘上能使用的字符只有不超过100个而且有些需要有特殊的意义,但是数据库一个字节可以存储256种字符。那么如何用少量的字符表示多的字符,那就是编码。编码分为定长编码和变长编码。
比如我要用 0-9 表示26个字母。那么都能想到的定长编码就是两个数字表示一个字母,比如 00表示a; 01表示b。。。还有一种编码是变长编码。比如 0表示a,1表示b,……,6表示g,70表示h,71表示i。。。
现在把题目改一下,用 a-j(10个)表示26个字母,用上面的变长编码就是:a表示a,b表示b,……,g表示g,ha表示h,hb表示i 。。。这里面的 h 就是所谓的转义字符。
几乎所有的语言,这种编码都尽量方便记忆和减少所打的字符个数设计的。所以用变长编码,就有了 a表示a,b表示b。。。,\表示,”表示”,表示”

发表评论

电子邮件地址不会被公开。 必填项已用*标注