java escape是什么,讓我們一起了解一下?
escape采用ISO Latin字符集對指定的字符串進行編碼。所有的空格符、標點符號、特殊字符以及其他非ASCII字符都將被轉化成%xx格式的字符編碼(xx等于該字符在字符集表里面的編碼的16進制數字)。
escape的加密解密是什么?
在很多腳本語言的應用當中,escape函數是一個可轉換編碼的函數,比如javascript 的 ajax 中,向a.php傳遞參數?city=北京,可先將"北京"用escape重新編碼,再進行傳遞,在服務器端接收后再解碼才不會出現亂碼。escape一般用于傳遞URL參數和類似urlencode?base64_encode函數是類似的。如上?city=北京。
實戰操作:MySQL中ESCAPE關鍵字的用法詳解。
MySQL中,轉義字符以“\”開頭,編程中常見的轉義字符,在MySQL均是有效的,在此不做贅述和討論。在此,主要通過“%” 和 “_”來對ESCAPE關鍵字的作用進行說明。
-- %:匹配任意多個字符。
-- _:匹配單一字符。
具體代碼如下:
CREATE?TABLE?`escape_test`?( ??`id`?BIGINT(20)?NOT?NULL?AUTO_INCREMENT, ??`name`?VARCHAR(255)?DEFAULT?NULL, ??`uid`?VARCHAR(11)?DEFAULT?NULL, ??PRIMARY?KEY?(`id`) )?ENGINE=INNODB?DEFAULT?CHARSET=utf8; --?查詢表 SELECT?*?FROM?escape_test; --?刪除表 DROP?TABLE?escape_test; --?刪除數據 DELETE?FROM?escape_test; --?插入數據 INSERT?INTO?escape_test?(NAME,uid)?VALUES('張三','hello'); INSERT?INTO?escape_test?(NAME,uid)?VALUES('李四_五','world'); INSERT?INTO?escape_test?(NAME,uid)?VALUES('王五%','world'); INSERT?INTO?escape_test?(NAME,uid)?VALUES('%a','world'); INSERT?INTO?escape_test?(NAME,uid)?VALUES('%_','world'); ###?查詢名字中帶明字的用戶 SELECT?*?FROM?escape_test?WHERE?NAME?LIKE?CONCAT("%",?"三",?"%") --?如果我們要匹配“%”或者“_”時,就必須使用“\”進行轉義,如下: ###?查詢名字帶有%字符的用戶 --?%?轉義前,%全查 SELECT?*?FROM?escape_test?WHERE?NAME?LIKE?CONCAT("%",?"%",?"%"); --?%?轉義后?只匹配含有%的 SELECT?*?FROM?escape_test?WHERE?NAME?LIKE?CONCAT("%",?"\%",?"%"); --?ESCAPE的用法 --?ESCAPE?關鍵字的主要作用就是指定一個字符替代“\”的作用。 ###?查詢名字帶有“%”字符的用戶 SELECT?*?FROM?escape_test?WHERE?NAME?LIKE?CONCAT("%",?"\%",?"%"); SELECT?*?FROM?escape_test?WHERE?NAME?LIKE?CONCAT("%",?"$%",?"%")?ESCAPE?"$"; ? ###?查詢名字帶有“_”字符的用戶 SELECT?*?FROM?escape_test?WHERE?NAME?LIKE?CONCAT("%",?"\_",?"%"); SELECT?*?FROM?escape_test?WHERE?NAME?LIKE?CONCAT("%",?"a_",?"%")?ESCAPE?"a"; ###?假設存在名字為?%a?和?%_?兩個的用戶 SELECT?*?FROM?escape_test?WHERE?NAME?LIKE?"a%_"?ESCAPE?"a"?;????###?%a?%_? SELECT?*?FROM?escape_test?WHERE?NAME?LIKE?"a%a"?ESCAPE?"a"?;????###?%a? SELECT?*?FROM?escape_test?WHERE?NAME?LIKE?"a%a_"?ESCAPE?"a"?;???###?%_
以上就是小編今天的分享了,希望可以幫助到大家。