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*****>