[AppleScript] 纯文本查看 复制代码function urldecode (str) {
var hash_map = {}, ret = str.toString(), unicodeStr='', hexEscStr='';
var replacer = function (search, replace, str) {
var tmp_arr = [];
tmp_arr = str.split(search);
return tmp_arr.join(replace);
};
// The hash_map is identical to the one in urlencode.
hash_map["'"] = ''';
hash_map['('] = '(';
hash_map[')'] = ')';
hash_map['*'] = '*';
hash_map['~'] = '~';
hash_map['!'] = '!';
hash_map[' '] = ' ';
hash_map['\u00DC'] = '�';
hash_map['\u00FC'] = '�';
hash_map['\u00C4'] = '�';
hash_map['\u00E4'] = '�';
hash_map['\u00D6'] = '�';
hash_map['\u00F6'] = '�';
hash_map['\u00DF'] = '�';
hash_map['\u20AC'] = '�';
hash_map['\u0081'] = '�';
hash_map['\u201A'] = '�';
hash_map['\u0192'] = '�';
hash_map['\u201E'] = '�';
hash_map['\u2026'] = '�';
hash_map['\u2020'] = '�';
hash_map['\u2021'] = '�';
hash_map['\u02C6'] = '�';
hash_map['\u2030'] = '�';
hash_map['\u0160'] = '�';
hash_map['\u2039'] = '�';
hash_map['\u0152'] = '�';
hash_map['\u008D'] = '�';
hash_map['\u017D'] = '�';
hash_map['\u008F'] = '�';
hash_map['\u0090'] = '�';
hash_map['\u2018'] = '�';
hash_map['\u2019'] = '�';
hash_map['\u201C'] = '�';
hash_map['\u201D'] = '�';
hash_map['\u2022'] = '�';
hash_map['\u2013'] = '�';
hash_map['\u2014'] = '�';
hash_map['\u02DC'] = '�';
hash_map['\u2122'] = '�';
hash_map['\u0161'] = '�';
hash_map['\u203A'] = '�';
hash_map['\u0153'] = '�';
hash_map['\u009D'] = '�';
hash_map['\u017E'] = '�';
hash_map['\u0178'] = '�';
hash_map['\u00C6'] = 'Æ';
hash_map['\u00D8'] = 'Ø';
hash_map['\u00C5'] = 'Å';
for (unicodeStr in hash_map) {
hexEscStr = hash_map[unicodeStr]; // Switch order when decoding
ret = replacer(hexEscStr, unicodeStr, ret); // Custom replace. No regexing
}
// End with d
ecodeURIComponent, which most resembles PHP's encoding functions
ret = decodeURIComponent(ret);
return ret;
}