Web からファイルをダウンロードしてディスクに保存しています。これは簡単ですが、一部の Web ファイルには、ファイルをディスクに保存するときに使用できない文字が含まれています。最も顕著なのは、 script.js?something=somethingelseなどのファイルをダウンロードしたときです。
不正な文字の削除を扱うこの投稿は既に見つけましたが、それはしたくありません。ファイル名を何らかの形でエンコードしたいので、ディスクからファイルをロードするとデコードでき、元の名前が再び表示されます。
どの文字が許可されていないかを説明しているこのページを見つけましたが、言及しているように、それはちょっとあいまいです
ターゲット ファイル システムで許可されていないその他の文字。
これまでに思いついたのは、これを使用することHttpUtility.UrlEncode
であり、問題なく機能しているようです。私の恐れは、それが「正しく」なく、いくつかのシナリオで失敗することです。それで、これを達成する「正しい」方法を知っている人はいますか?