URLパラメータ用に安全にURLエンコードする自作アクション「encodeURIComponent」

ビルトインアクションのURL Encodeは、微妙に使いづらいアクションです。
URI予約文字の一部をエンコードしないのでパラメータの値(query=◯◯の、〇〇の部分)に使用した時に不都合が生じるケースがあるし、予約文字を全て除外するわけでもないのでURL全体をエンコードする目的でも使用できないという、意図するところがよくわからない仕様になっています。

このワークフローは、Inputしたテキストをパラメータの値として使用しても問題が起こらないようにURLエンコードする自作アクションです。JavaScriptのencodeURIComponent()に相当する結果を出力します。
URL Encodeでエンコードしたのち、残りの文字を総当りで置換しています。

デコードはURL EncodeのDecodeで問題なくできます。

先日の記事で紹介した「Send Message via LINE」の中でもこの処理を行っています。
https://iosautomation.net/blog/send-via-line/


[Input](単体、複数)
Texts

[Result]
Texts

インポート

https://workflow.is/workflows/ce01ee16c19f4d5fb9e5895609f6167d

f:id:four_or_three:20170322215735p:plain:w250

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。