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
