是否有一个选项可以轻松查看当前文件的编码( utf-8,utf-8 w/out BOM,ascii,western等)?
我主要工作在web应用程序上,所以这对我来说至关重要。
除了“另存为”对话框之外,我找不到它...在Visual Studio中保存文件时,可以选择“MyClass.cs另存为”,然后单击向下箭头并选择“以编码方式保存...”。然后,您可以选择查看和更改当前选定的Encoding和Line endings选项。但是这是4-5次点击,对于这么简单的信息来说太多了!?
有一个"View.ChooseEncoding“命令,但没有运行它,我得到的只是”命令"View.ChooseEncoding“不可用”。
我试着用我自己的插件在状态栏中显示它,但不走运,在自动化API中找不到Encoding信息。我在打开/保存时使用了EnvDTE.Document来访问当前文件信息。
发布于 2009-03-13 11:40:42
博卡,
你到底想做什么?据我所知,Visual Studio (至少2005)将只使用您正在使用的操作系统的本地代码页。如果你是一个说英语的人,那可能是Latin1,ISO-8859-1,Extended-ASCII,随便什么。如果你没有重音/欧洲字符,它们都是“几乎”相同的表示。
我们在64位操作系统上的Visual Studio 2005上看到了一些行为(例如。Vista64)在默认情况下是以Unicode (带有物料清单的UTF8)保存的;上面的评论者建议Visual Studio2008也是这样做的。
这就把我带回到了一个问题--你想做什么?您是否正在考虑使用web.config全球化部分(http://msdn.microsoft.com/en-us/library/hy4kkhe0(VS.80%29.aspx)?它有一个选项来指定fileEncoding以及请求和响应。
<system.web>
<globalization
fileEncoding="iso-8859-1"
requestEncoding="utf-8"
responseEncoding="utf-8" />
</system.web>对于您接收的任何特定字节流,很难“知道”使用了什么编码(除非它是带有BOM的UTF-8,在这种情况下,很容易检查前几个字节),或者它是在您的PC上创建的(在这种情况下,它使用您的默认代码页)。
很久以前,我写过NCharDet,它试图确定编码(主要针对不同的亚洲语言),但我也不确定这是不是你需要的(除此之外,它有点过时)。MLang使用be是微软为这类东西提供的主要'API‘。
很抱歉我不能提供一个实际的答案...
发布于 2009-03-25 07:33:36
看看这个:How to Determine Text File Encoding,但这只适用于用签名保存的Unicode文件。
https://stackoverflow.com/questions/625907
复制相似问题