\\sdf"); // result == zdskjh-6ren">
gpt4 book ai didi

c# - 与我的开发机器相比,为什么 Uri.EscapeDataString 在我的 CI 服务器上返回不同的结果?

转载 作者:太空狗 更新时间:2023-10-29 19:46:58 25 4
gpt4 key购买 nike

在我的台式机上,我得到了这个..

var result = Uri.EscapeDataString("zdskjhf&*^65sdfh/.<>\\sdf");
// result == zdskjhf%26%2A%5E65sdfh%2F.%3C%3E%5Csdf

现在,在我的 CI 服务器上,部分 结果未编码....我明白了

\\ result == zdskjhf%26*%5E65sdfh%2F.%3C%3E%5Csdf

注意到第二个结果中间的星号了吗?在第一个结果中,它正在被编码。

谁能解释一下这是怎么回事?

更新 1:

Here's an .NET Fiddle它使用 .NET 4.5 并显示星号已编码...

这是否意味着我的机器 .NET Fiddle 都错误?或者我们都是对的,而 CI 服务器错了?

来自构建服务器的一些诊断信息..
Microsoft (R) Build Engine version 12.0.30723.0
[Microsoft .NET Framework, version 4.0.30319.34209]
Copyright (C) Microsoft Corporation. All rights reserved.

(对于我的本地开发机器,我不太确定如何获取此信息。它是 win8.1 + VS 2013 Update 3。)

所有项目都是 .NET 4.5 ...不是 4.5.1

更新 2:

我决定在所有 .NET 框架上运行此代码(这很重要)。这是结果。

Data:     abcde *.(.)."

.NET 2.0: abcde%20*.(.).
.NET 3.0: abcde%20*.(.).
.NET 3.5: abcde%20*.(.).
.NET 4.0: abcde%20*.(.).

-- MSDN NOTES: Bug now fixed here --

.NET 4.5: abcde%20%2A.%28.%29.
.NET 4.5.1: abcde%20%2A.%28.%29.
.NET 4.5.2: abcde%20%2A.%28.%29.
.NET 4.5.3: abcde%20%2A.%28.%29.

这表明

  • < .NET 4.5 ,这些值未编码。 Kewl,很好。
  • = .NET 4.5 those values ARE encoded.

链接:this is a similar SO question .
引用:this is the build result from the CI server其中包括大量调试信息...

最佳答案

关于c# - 与我的开发机器相比,为什么 Uri.EscapeDataString 在我的 CI 服务器上返回不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26309731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com