would be nice to also encode "+" since S3 is gonna violate the RFC on this one for the rest of time.