Slightly faster (un)quoting.
diff --git a/Lib/urllib.py b/Lib/urllib.py
index 63e4182..f1756e2 100644
--- a/Lib/urllib.py
+++ b/Lib/urllib.py
@@ -642,26 +642,26 @@
 def unquote(s):
 	i = 0
 	n = len(s)
-	res = ''
+	res = []
 	while 0 <= i < n:
 		j = _quoteprog.search(s, i)
 		if j < 0:
-			res = res + s[i:]
+			res.append(s[i:])
 			break
-		res = res + (s[i:j] + chr(string.atoi(s[j+1:j+3], 16)))
+		res.append(s[i:j] + chr(string.atoi(s[j+1:j+3], 16)))
 		i = j+3
-	return res
+	return string.joinfields(res, '')
 
 always_safe = string.letters + string.digits + '_,.-'
 def quote(s, safe = '/'):
 	safe = always_safe + safe
-	res = ''
+	res = []
 	for c in s:
 		if c in safe:
-			res = res + c
+			res.append(c)
 		else:
-			res = res + '%%%02x' % ord(c)
-	return res
+			res.append('%%%02x' % ord(c))
+	return string.joinfields(res, '')
 
 
 # Proxy handling