4

私はC#でアプリケーションを作成しており、URLやファイル名でプレースホルダーを検索し、次のように値を代入する必要があります。C:\files\file{number}=>C:\files\file1残念ながら、この例では、ファイル名とURLに中括弧を使用できます。

ファイルやURLのプレースホルダーを表すために使用できる文字を誰か提案してもらえますか?ありがとうございました!

4

1 に答える 1

6

Windowsは、ファイル名で使用しようとすると、ファイル名に許可されていない文字を教えてくれます。

ファイル名に次の文字を含めることはできません:
\ /:*?"<> |

許可される文字のリストなどの詳細については、このサポート記事を参照してください。

ファイル、フォルダー、またはショートカットの命名に有効な文字には、文字(AZ)と数字(0〜9)の任意の組み合わせに加えて、次の特殊文字が含まれます。

^アクセントサーカムフレックス(カレット)
&アンパサンド
'アポストロフィ(一重引用符)
@ アットマーク
{ブレース左
}ブレース右
【ブラケット開口部
]ブラケットを閉じる
、 コンマ
$ドル記号
=等号
!感嘆符
-ハイフン
#番号記号
(括弧の開き
)かっこを閉じる
%パーセント
。限目
+プラス
〜チルダ
_アンダースコア

URLについては、許可される文字の説明について、RFC1738のセクション2.2を参照してください。

したがって、英数字、特殊文字 "$-_。+!*'()、"、およびそれらの予約目的で使用される予約文字のみを、URL内でエンコードせずに使用できます。

...同じセクションからの興味深いもの:

キャラクターはいくつかの理由で安全ではない可能性があります。URLが文字起こしまたは植字されたり、ワードプロセッシングプログラムの処理を受けたりすると、重要なスペースが消えたり、重要でないスペースが導入されたりする可能性があるため、スペース文字は安全ではありません。文字「<」および「>」は、フリーテキストのURLの区切り文字として使用されるため、安全ではありません。一部のシステムでは、引用符( "" ")を使用してURLを区切ります。文字"# "は安全ではなく、ワールドワイドウェブやその他のシステムでフラグメント/アンカーからURLを区切るために使用されるため、常にエンコードする必要があります。それに続く可能性のある識別子。文字「%」は、他の文字のエンコードに使用されるため、安全ではありません。ゲートウェイや他のトランスポートエージェントがそのような文字を変更することがあることが知られているため、他の文字は安全ではありません。これらの文字は、「{」、「}」、「|」、「\」、「^」、「〜」、「[」、「]」、および「`」です。

安全でない文字はすべて、常にURL内にエンコードする必要があります。

二重引用符と山かっこ("<>)が適切なオプションのようです。

于 2010-09-12T20:25:52.063 に答える