182
111

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

文字列のエンコード・デコードを瞬殺するencodeMaxを作りました

Last updated at Posted at 2020-03-15

ezgif-7-09b26e7fce74.gif
encodemax.com

文字列のエンコード・デコードについては、「URLエンコード オンライン」みたいにググったらなんぼでもツールが出てくるのですが、だいたいどこのサイトも、「文字列を入力して変換をクリック」ってそのクリックする手間がイラッとしません?
あげくサーバサイドに通信しにいってHTTPの応答を待つ時間とかもうほんとに無駄!

あと、「URLエンコード・デコードができるサイトです」とか、それしか出来ないんかーい!どうせどれも似たような処理なんだから一つのサイトで出来たっていいじゃん。

よく働くコンピュータの代わりにぼくがどんどん怠惰になった結果、そんなふうに今あるサイトが不便に感じるようになってきたので、文字列を入れたら、その瞬間にエンコード・デコードを一通り試して結果が出力されるサイトというのを作りました。

encodemax.com

構成

ソース: github.com/mogya/encodemax

たった1ページしかないのにNuxt.jsでgenerateした(だって楽だし)ものをNetlifyでホスティングしています。

ユーザーさんの入力をv-modelのバインディングで変数につっこんで、エンコード・デコードのロジックをcomputedで書いておけば、入力が更新されるたびに勝手に演算されて結果が更新される感じですね。

<textarea v-model="original_code" 
  <label>
    Base64 Decode
  </label>
  <input type="text"
    :value="base64_decode" />
computed: {
  base64_encode: function(){
    return window.btoa(unescape(encodeURIComponent(this.original_code)))
  },

あと演算結果欄は、余計な編集ができると使いづらいので、read-onlyにしつつ、こういうコードを付けておくことで、タップした瞬間全選択状態になって、ctrl+Aを押さなくていいようにしてあります。

  methods: {
    on_click: function(event){
      event.target.select();
    }

onclick.gif

よかったら使ってみてください。

encodemax.com

182
111
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
182
111

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?