Objective-CでのURLエンコード

NSStringのstringByAddingPercentEscapesUsingEncodingメソッドはなぜか&や+,/などがエスケープされない。これではセキュリティー的に好ましくないため、以下の方法で対応した。備忘録。