2019年2月4日月曜日

文字エンコードの話


GoClipでものすごく便利にはなったんだけど、検索サイトに送る文字列がShift-Jisにしか対応できてない
いわゆるURLエンコードってやつは文字コードに%を入れるだけなのでGoClipに実装したが、そもそものエンコードは出来ない
昔自作したブラウザでは実装してたはずなので調べてみたけどよくわかんない(・∀・)ノ
Cだと難しいのかも(・_・?)

でちょっと調べたら、ecl.js って jscript のライブラリがあった
EUC-JPもUNICODEやUTF-8、7なんてものにもエンコ・デコード出来るらしい
すごいね~!!
で、これを使うことにしたんだが、結構時間がかかった

このライブラリをうまく使えるかどうか試すために、まず直接ecl.jsにコードを追加してみたが、これが間違いの元だった(-_-)
ここで書かれてる関数はステートメント形式になっていて、関数を使うためのコードは関数の後に書かなくちゃいけない
冒頭に書くとエラーになる
関数定義で書いてくれてたらそんなこと無かったんだけど
で、エラーの意味がわかんなくて悩んで、解決するまで一日かかりましたわ┐('д')┌

実際にこのライブラリを使うときは外部ファイルとしてインクルードすることにした
wsfを使います
インクルードは冒頭でするから、関数は自由に使える、最初からwsfにしておけば時間的には節約できた
やれやれ┐('д')┌
でもjsの関数の勉強にはなった、今更だけど(・∀・)ノ

jsの関数の記述方法が1種類しか無ければこんな事にはならなかった
柔軟な言語ってのも考えものだよね
ドイツ語って格が厳格で覚えるのは面倒だけど覚えてしまえば英語よりずっとわかりやすい
コンピュータ言語も同じようなところあるよね
変数の宣言とか、厳格なCの方がBASICよりワタシ的にはわかりやすい

ちなみに、エンコードの話だけど、ecl.jsではテーブルを用意して変換してるだけみたい
Aの文字コードをBの文字コードにするだけだから考えたら単純なのかも
理屈さえわかればCに実装出来そうだ
dllにしておけばより簡単だったりするんだろうか?
っつーか、多分あるな、私が知らないだけで(-_-)

でもこれでいいような気もする
GoClopは要するにクリップ文字列を引数で渡せるランチャだ
機能をいろいろ追加するよりは、複雑なことは jscript で後で書いたほうが良い
その方が柔軟で使い回しも良いはず
GoClopのToDoはあるけど、絞った方が良さそうだな

0 件のコメント:

コメントを投稿