关于urlencode:Javascript-URL-encoding

URL编码,有时也称为百分比编码,是一种将URL中的任何数据编码为能够在internet上传输的平安格局的机制。URL编码还用于为提交具备application/x-www-form-urlencoded MIME类型的HTML表单筹备数据。

encodeURIComponent()

留神,不应该应用encodeURIComponent()函数对整个URL进行编码。它应该只用于对查问字符串或门路段进行编码:

var baseUrl = 'https://www.google.com/search?q='
var query = 'Hellö Wörld@Javascript'

// encode only the query string
var completeUrl = baseUrl + encodeURIComponent(query)
console.log(completeUrl)

// https://www.google.com/search?q=Hell%C3%B6%20W%C3%B6rld%40Javascript

encodeURI()

语法:encodeURI(URI)

参数URI:A complete URI.

const uri = 'https://mozilla.org/?x=шеллы';
const encoded = encodeURI(uri);
console.log(encoded);
// expected output: "https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B"

encodeURI vs encodeURIComponent

const set1 = ";,/?:@&=+$#"; // Reserved Characters
const set2 = "-_.!~*'()";   // Unreserved Marks
const set3 = "ABC abc 123"; // Alphanumeric Characters + Space

console.log(encodeURI(set1)); // ;,/?:@&=+$#
console.log(encodeURI(set2)); // -_.!~*'()
console.log(encodeURI(set3)); // ABC%20abc%20123 (the space gets encoded as %20)

console.log(encodeURIComponent(set1)); // %3B%2C%2F%3F%3A%40%26%3D%2B%24%23
console.log(encodeURIComponent(set2)); // -_.!~*'()
console.log(encodeURIComponent(set3)); // ABC%20abc%20123 (the space gets encoded as %20)

URLEncoder (在线)

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理