var unreserved = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_.~";
var reserved = "!*'();:@&=+$,/?%#[]";
var allowed = unreserved + reserved;
var hexchars = "0123456789ABCDEFabcdef";
function gethex(decimal) {
return "%" + hexchars.charAt(decimal >> 4) + hexchars.charAt(decimal & 0xF);
}
function encode(decoded) {
var encoded = "";
if (true) {
for (var i = 0; i < decoded.length; i++ ) {
var ch = decoded.charAt(i);
if (unreserved.indexOf(ch) != -1) {
encoded = encoded + ch;
} else {
var charcode = decoded.charCodeAt(i);
if (charcode < 128) {
encoded = encoded + gethex(charcode);
}
if (charcode > 127 && charcode < 2048) {
encoded = encoded + gethex((charcode >> 6) | 0xC0);
encoded = encoded + gethex((charcode & 0x3F) | 0x80);
}
if (charcode > 2047 && charcode < 65536) {
encoded = encoded + gethex((charcode >> 12) | 0xE0);
encoded = encoded + gethex(((charcode >> 6) & 0x3F) | 0x80);
encoded = encoded + gethex((charcode & 0x3F) | 0x80);
}
if (charcode > 65535) {
encoded = encoded + gethex((charcode >> 18) | 0xF0);
encoded = encoded + gethex(((charcode >> 12) & 0x3F) | 0x80);
encoded = encoded + gethex(((charcode >> 6) & 0x3F) | 0x80);
encoded = encoded + gethex((charcode & 0x3F) | 0x80);
}
}
}
return encoded;
}
}
encode(document.getElementById('keyword').value);
沒有留言:
張貼留言