escape,encodeURI,encodeURIComponent 有什么区别?
escape,encodeURI,encodeURIComponent 有什么区别?
escape 和 encodeURI 都属于 Percent-encoding,基本功能都是把 URI 非法字符转化成合法字符,转化后形式类似「%*」。
它们的根本区别在于,escape 在处理 0xff之外字符的时候,是直接使用字符的 unicode 在前面加上一个「%u」,而 encode URI则是先进行 UTF-8,再在 UTF-8 的每个字节码前加上一个「%」;在处理 0xff以内字符时,编码方式是一样的(都是「%XX」,XX 为字符的 16 进制 unicode,同时也是字符的 UTF-8),只是范围(即哪些字符编码哪些字符不编码)不一样。