1

これが私の問題です:

「どこかに」文を保存する必要があります(どこでもかまいません)。文にスペースを含めないでください。その「どこか」から文を抽出するとき、スペースを元に戻す必要があります。

したがって、「私は幸せです」という文を保存する前に、スペースを & などの安全な文字に置き換えることができます。C# の場合:

theString.Replace(' ', '&');

これにより、「I&am&happy」が生成されます。

そして、文を取得するときは、逆にします:

theString.Replace('&', ' ');

しかし、元の文に既に「&」文字が含まれている場合はどうなるでしょうか?

「私は幸せで健康です」という文で同じことをするとします。上記のデザインでは、「&」文字がスペースに置き換えられているため、文字列は「I am happy health」として返されます。(もちろん、 & 文字を ¤ などのよりありそうもない記号に変更することもできますが、これを防弾として使用したいと考えています)

これを解決する方法は以前は知っていましたが、忘れてしまいました。

何か案は?

ありがとう!フレドリック

4

1 に答える 1

1

おそらく、インスピレーションとしてURL エンコーディング (パーセント エンコーディング)を使用できます。

URL で無効な文字は、%XX を記述することによってエスケープされます。ここで、XX は文字を表す数値コードです。% 記号自体も同じ方法でエスケープできるため、元の文字列に戻すときに問題が発生することはありません。

おそらく他にも同様のエンコーディングがあり、独自のアプリケーションでは と&同様にを使用できます%が、このような既存のエンコーディングを使用することで、おそらくエンコーディングとデコーディングを行う既存の関数を見つけることもできます。

于 2013-07-22T10:37:12.480 に答える