Methode Beschreibung:
Diese Methode ermöglicht es, QueryString.Parse zu überschreiben
Grammatik:
Die Codekopie lautet wie folgt:
queryString.unescape
Parameter empfangen:
keiner
Quellcode:
Die Codekopie lautet wie folgt:
// eine sichere schnelle Alternative zu Decodouricomponent
QueryString.unescapeBuffer = function (s, decodespaces) {
var out = neuer Buffer (s.Length);
var state = 'char'; // Staaten: char, hex0, hex1
var n, m, hexchar;
für (var inIndex = 0, outIndex = 0; Index <= sength; index ++) {
var c = S. charcodeat (index);
Switch (Status) {
Fall 'Char':
Schalter (c) {
Case Charcode ('%'):
n = 0;
M = 0;
state = 'hex0';
brechen;
Case CharCode ('+'):
if (decodespaces) c = CharCode ('');
// Durchgehen
Standard:
out [outIndex ++] = c;
brechen;
}
brechen;
Fall 'Hex0':
state = 'hex1';
Hexchar = C;
if (charCode ('0') <= c && c <= CharCode ('9') {
n = c - CharCode ('0');
} else if (charCode ('a') <= c && c <= charCode ('f')) {
n = c - CharCode ('a') + 10;
} else if (charCode ('a') <= c && c <= charCode ('f')) {
n = c - CharCode ('a') + 10;
} anders {
out [outIndex ++] = CharCode ('%');
out [outIndex ++] = c;
state = 'char';
brechen;
}
brechen;
Fall 'Hex1':
state = 'char';
if (charCode ('0') <= c && c <= CharCode ('9') {
M = C - CharCode ('0');
} else if (charCode ('a') <= c && c <= charCode ('f')) {
M = C - CharCode ('a') + 10;
} else if (charCode ('a') <= c && c <= charCode ('f')) {
M = C - CharCode ('a') + 10;
} anders {
out [outIndex ++] = CharCode ('%');
out [outIndex ++] = hexchar;
out [outIndex ++] = c;
brechen;
}
out [outIndex ++] = 16 * n+m;
brechen;
}
}
// TODO -Unterstützung zurücksender willkürlicher Puffer.
return out.lice (0, outIndex - 1);
};