え?不正なURI文字列?

投稿日:2019年04月15日 08時05分08秒

ウェブエディターでちょっとしたきっかけでバグが発覚。よくわからんままに修正してると芋蔓式にどんどん修正箇所が増殖中orz..
今日はファイル一覧はクリアしたっぽいのでエディター周り。
html上に見えないフレーム用意してそこでデータ管理とかいうレガシーなトリックで多ファイル編集に対応しているのだが、パス文字列についてwindowsのsjisが使いたいがhtmlのコードページはutf-8という変速運用している。が、そのデータ管理部分をencodeURI、decodeURIで保存してやろうと思ってると「URIError: malformed URI sequence」といわれてしまった。調べてみるとutf-8ではバイナリコードとかは許されてないんですねー。酷い。
実際のエラーはdecodeURIで発生するので代替のライブラリで逃げれば問題ないだけど開発者の思想が見えるようですね。
解決策としては内部で持ちまわる文字列としてencodeURIしたもの、sjisからutf-8に変換したものなどを分けて引き回すしかなさそう。もっとすっきりした解答があればいいんだけどとりあえず現状の報告ということで。

[<< TinyJS(JavaScript)に正規表現を]

[歌うソフトはじめました >>]