【问题标题】:What kind of encoding is this and how do I produce it programmatically?这是什么类型的编码以及如何以编程方式生成它?
【发布时间】:2014-09-23 19:42:15
【问题描述】:

我正在使用适用于 Office 的 Visual Studio 工具创建 Office 加载项,部署/安装加载项的一部分是为其创建 Windows 注册表项。 Visual Studio 会在开发人员构建外接程序时自动为开发人员创建这些注册表项,但在最终安装/部署外接程序时需要通过其他方式(例如通过安装程序)创建这些注册表项-用户的机器。这是我正在质疑的注册表项的示例:

Manifest    REG_SZ    file:///C:/Users/Ryan/Office Projects/C%23/MyProject/addin.vsto

如何以编程方式重新创建这种编码?我猜这不是URL编码,因为冒号(:)没有变成%3A,空格没有变成%20s,但是“C#”中的#变成了%23。 .. 那么我如何称呼这种类型的编码,以及如何将绝对文件系统路径转换为这种类型的编码,以便创建我自己的安装程序来编写这种类型的注册表项?

【问题讨论】:

    标签: c# windows registry vsto


    【解决方案1】:

    我认为Uri 是你想要的。这个例子:

    Debug.WriteLine(new Uri(@"C:\Test\c#file.txt").ToString());
    // outputs: file:///C:/Test/c%23file.txt
    

    【讨论】:

    • 我仍然很奇怪为什么 Visual Studio 在路径名中创建了带有空格的注册表项,而 Uri 类将空格转换为 %20,但我很确定 Uri 类会这样做不过还好。我有一种预感,它可以与空格字符 %20s 一起使用...我将使用 Office 应用程序对其进行测试。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-15
    • 1970-01-01
    相关资源
    最近更新 更多