none
.NET 4.0 下对System.Net.Mime.ContentType的Name属性赋值时可能被自动编码 RRS feed

  • 问题

  • 代码如下:

                ContentType contentType = new ContentType();
                contentType.Name = "%E6%8A%A5%E5%A4%B43-30(03-30-17-47-38)_副本.jpg";
                Console.WriteLine(contentType.Name);

    结果输出为:

    =?utf-8?B?JUU2JThBJUE1JUU1JUE0JUI0My0zMCgwMy0zMC0xNy00Ny0zOClf5Ymv?=
     =?utf-8?B?5pysLmpwZw==?=

    也就是被自动编码了,此问题在4.5版本下不存在,但是程序是在Windows Server 2003上跑,最高只能装4.0版本的。

    而且我试过对赋值字符串做变化,但是变了之后就正确了,目前只发现这个特定的字符串会导致这个结果。

    并且我用Visual C# Express 2010和Visual Studio Community 2013编译都会有这个问题。

    如果确认是BUG并且计划发布补丁的话最好能回一下这个帖子,我们就没必要用其它技术改写这个程序了。

    2015年4月8日 7:29

答案