.net Visual Studio中的源文件编码(VS2005,但可以应用于其他版本)

.net Visual Studio中的源文件编码(VS2005,但可以应用于其他版本),.net,visual-studio,encoding,.net,Visual Studio,Encoding,是否有一个选项可以轻松查看当前文件的编码(utf-8、utf-8 w/out BOM、ascii、western等) 我主要从事web应用程序,因此这对我来说至关重要 除了“另存为”对话框,我在任何地方都找不到这个。。。 在Visual Studio中保存文件时,可以选择“将MyClass.cs另存为”,然后单击向下箭头并选择“使用编码保存…”。 然后,您可以选择查看和更改当前选定的编码和行尾选项。但是这是4-5次点击,对于这样一个简单的信息来说太多了 有一个“View.ChooseEncodi

是否有一个选项可以轻松查看当前文件的编码(utf-8、utf-8 w/out BOM、ascii、western等)

我主要从事web应用程序,因此这对我来说至关重要

除了“另存为”对话框,我在任何地方都找不到这个。。。 在Visual Studio中保存文件时,可以选择“将MyClass.cs另存为”,然后单击向下箭头并选择“使用编码保存…”。 然后,您可以选择查看和更改当前选定的编码和行尾选项。但是这是4-5次点击,对于这样一个简单的信息来说太多了

有一个“View.ChooseEncoding”命令,但运行起来运气不好,我得到的只是“command”视图。ChooseEncoding“不可用”

我曾尝试使用自己的加载项在状态栏中显示它,但没有成功,在自动化API中的任何位置都找不到编码信息。我在打开/保存时使用EnvDTE.Document访问当前文件信息。

Bokka

你到底想做什么?据我所知,VisualStudio(至少2005年)将只为您正在使用的操作系统使用本地代码页。如果你是说英语的,那可能是拉丁语,ISO-8859-1,扩展ASCII码,随便什么。如果您没有重音/欧洲字符,那么它们“几乎”都是相同的表示形式

我们在工作中看到了一些行为,64位操作系统(如Vista64)上的VisualStudio2005默认使用Unicode(带BOM的UTF8)保存;上面的评论者认为VisualStudio2008的行为方式与此相同

这让我回到问题上来——你想做什么?你在考虑使用web.config吗?它有一个选项来指定文件编码以及请求和响应

   <system.web>
      <globalization 
         fileEncoding="iso-8859-1"
         requestEncoding="utf-8"
         responseEncoding="utf-8" />
   </system.web>

对于您接收到的任何特定字节流,很难“知道”使用了什么编码(除非它是带BOM的UTF-8,在这种情况下很容易检查前几个字节),或者它是在您的PC上创建的(在这种情况下,它使用您的默认代码页)

很久以前,我写过一篇文章,试图确定编码(主要针对不同的亚洲语言),但我也不确定这是否是您所需要的(此外,它有点过时)MLang曾经是微软为类似的东西提供的主要“API”

很抱歉,我无法提供实际答案…

请看以下内容:
但这仅适用于使用签名保存的Unicode文件。

在IDE中加载时,它是Unicode文件。在您将其保存到磁盘之前,它不会被编码。考虑VS2008,它保存到UTF8而不是默认的当前代码页。谢谢,但是这不是我要找的信息。干杯。Visial Studio 2005默认保存为ISO-8859-1;如果文件中有ISO-8859-1未涵盖的字符,则默认情况下会保存到UTF-16,这非常好,因为Subversion会将其视为二进制。我认为2008年的默认值是UTF-8,但我不确定。