serialize and deserialize via (en|de)codeURIComponent