2010-09-12 7 views
3

Я пишу приложение на C#, которое должно найти местозаполнители в URL-адресах и/или именах файлов и заменить их на значение, например: C:\files\file{number} =>C:\files\file1 К сожалению, для этого примера фигурные скобки разрешены в именах файлов и URL-адрес.Каковы наилучшие символы для заметок в именах файлов (в Windows) и URL-адресах?

Может кто-нибудь предложить несколько символов, которые я могу использовать для обозначения заполнителей в файлах и URL-адресах? Спасибо!

+0

Необходимо ли обратить внимание на другие операционные системы? –

+0

Нет, просто Windows. –

ответ

5

Windows, а услужливо сообщает вам, что символы не допускаются в имени файла, при попытке использовать на них:

Имя файла не может содержать любой из следующих символов:
\ /: * ? "<> |

См this support article для получения дополнительной информации, в том числе список разрешенных символов

символы, которые действительны для именования файлы, папки или ярлыки включают любое сочетание букв. (AZ) и (0-9), а также следующие специальных символов:

 
^ Accent circumflex (caret) 
& Ampersand 
' Apostrophe (single quotation mark) 
@ At sign 
{ Brace left 
} Brace right 
[ Bracket opening 
] Bracket closing 
, Comma 
$ Dollar sign 
= Equal sign 
! Exclamation point 
- Hyphen 
# Number sign 
( Parenthesis opening 
) Parenthesis closing 
% Percent 
. Period 
+ Plus 
~ Tilde 
_ Underscore 

Как для URL-адресов, смотрите раздел 2.2 RFC 1738 для описания допустимых символов:

Таким образом, только буквенно-цифровым, в специальных символов "! $ -_ + * '()," и зарезервированные символы, используемые для их зарезервированных целей, могут использоваться некодированные в URL-адресе.

... Интересно также, из того же раздела:

Символы могут быть небезопасными по ряду причин. Символ пробела является небезопасны, поскольку значительные пробелы могут исчезают и незначительные пробелы могут быть введены , когда URL-адреса являются транскрибируется или набран или подвергнут обработку обработки текстов программ. Символы «<» и «>» являются небезопасными, поскольку они используются как разделители вокруг URL-адресов в свободном тексте; метка кавычки ("" ") используется для URL-адресов в некоторых системах. Символ « # »является небезопасным и должен быть закодирован , поскольку он используется в World Wide Web и в других системах , чтобы разграничить URL-адрес от фрагмента/идентификатором якоря, который может следовать за ним. символ «%» является небезопасно, поскольку она используется для кодирования других символов. Другие символы являются опасными, так как шлюзы и другие транспортные средства известны иногда изменить такие символы. Эти символы: «{», «}», «|», «\», «^», «~», «[", "]" и "` ".

Все небезопасные символы всегда должны быть закодированы в URL-адресе.

Похоже, что символы двойной кавычки и угловой скобки ("<>) являются хорошими вариантами.

+0

Благодарим за отзыв! Однако мне нужны символы, которые недействительны в именах файлов и URL. –

+0

@SimpleCoder: см. Мое редактирование. –

+0

Благодарю вас, похоже, что знак двойной кавычки будет работать. –

 Смежные вопросы

  • Нет связанных вопросов^_^