String#b returns a copied string
avoid ruby 1.9.3's CGI.escape encoding bug, fixed in 2.0.0
merge expected