[Fswiki-dev] Re: [RFC] キーに=を含む設定の取り扱い

Back to archive index

Naoki Takezoe takez****@aa*****
2005年 12月 17日 (土) 07:13:25 JST


竹添です。

N.Katoh wrote:
> 加藤です。
> 最初は問題ないと思ってたので遅くなってしまいましたが。
> 
> アルゴリズムとしては
> 
> save時
> ・「=」は「\=」としてエスケープ
> ・キーの最後が「\」だと「key\=value」となるので「\\」としてエスケープ
> 
> load時
> ・splitは前に「\」のない「=」か「\\」のあとの「=」で分割する
> 
> だと思いますが、この方法だと一つ問題があります。
> 元々のキーが「\=」を含んでいると、「=」を「\=」としてエスケープし、
> 結果、そこが「\\=」になり、ここで分割されます。

確かに。

> そこで、分割する「=」の前後の空白が無視されることを利用して、
> 
> save時
> ・「=」は「\=」としてエスケープ
> ・キーの最後が「\」だと「key\=value」となるので「\ 」としてエスケープ
>  →「key\ =value」となる
> 
> load時
> ・splitは前に「\」のない「=」で分割する
>  →「\\=」でも分割しない

うう…なんか複雑ですね…。
最初にフォーマットをちゃんと考えておけば良かった…。

いっそのこと自前でエスケープ処理を実装するんではなくて

URLエンコードしたキー=値

にして最初の=で分割してキーをデコードとか、どうでしょう。

-- 
Naoki Takezoe <takez****@aa*****>




Fswiki-dev メーリングリストの案内
Back to archive index