Naoki Takezoe
takez****@aa*****
2005年 12月 27日 (火) 22:30:38 JST
竹添です。 N.Katoh wrote: > On Sun, 25 Dec 2005 08:39:02 +0900 > Naoki Takezoe <takez****@gmail*****> wrote: > > >>竹添です。 > > > : ざっくり省略 > > > >>今の仕様だとキーや値に改行を含めることができないという問題もありますの >>で値とキーの両方をエスケープ対象として、以下のようなエスケープ方法はど >>うでしょうか。 >> >>・値またはキーに=が含まれている場合は全体を"で囲む >>・上記とは関係なく改行それぞれは\\n、\\rにエスケープ、\は\\にエスケー >>プ・全体を"で囲んだ場合、値またはキーに"が含まれていた場合は""にエスケ >>ープ >> >>例えばキーがThis is "key"、値がThis is "value"の場合、 >> >>"This is ""key"""="This is ""value""" >> >>のような感じになります。 > > > たしかにキーはともかく値に改行が含めれると用途も広がりますね。 > #極端な話、usercss.datも統合可能ですね。やりませんけど(笑) 4.0ではすべてAPI経由で設定の保存を行うつもりなので、 改行を含めるようにするのは必須事項だと思ってます。 > 一点だけ確認を。 > > >>・上記とは関係なく改行それぞれは\\n、\\rにエスケープ、\は\\にエスケー >>プ > > > これはそれぞれ"\\n"・"\\r"つまり'\n'、'\r'に、という事ですよね? そうです。 >>また、バージョンアップ時の互換性という点も重要になりますが、現在の形式 >>のファイルも問題なく読み込めるようにできると思います。 > > > 互換が崩れるのは\\とか\n、\rを使ってる場合と、キーもしくは値が「"」で始 > まり「"」で終ってる場合だけですかね。 > レアケースだと思うので'''多分'''ないと思いますが、あった時は手修正を、と > いうしかないですね。 > 多かれ少なかれ発生する可能性がある事だと思いますので一時の事と割り切るし > かないでしょう。 確かに完全互換は難しいですね。=を含むケースは現状でも大きな 問題にはなっていないようなので、3.5はこのままで、4.0で対応でも いいかなぁという気はします。 -- Naoki Takezoe <takez****@aa*****>