Каким будет правильный способ создать полностью закодированный URL-адрес file:// URI из локального пути, то есть где все специальные символы, такие как пробелы и т. д., экранированы?
Учитывая следующий ввод
C:\Data\Input Document.txt
я хотел бы получить
file:///C:/Data/Input%20Document.txt
я использовал
Uri uri = new Uri(@"C:\Data\Input Document.txt", UriKind.RelativeOrAbsolute);
Однако это приводит к неэкранированному URI:
file:///C:/Data/Input Document.txt