我们有各种Microsoft语言的解析器(VB6,VB.net,C#,MS C/C++方言),它们都启用了Unicode,只要我们都认可Unicode。在我们不同意的情况下,我们的词法分析器会发出警告。
最近的MS IDE似乎都将源代码文件读/写为UTF-8格式……但我不确定这总是正确的。是否有一些参考文献明确说明MS如何编写源代码文件?带或不带字节顺序标记(BOM)?IDE版本是否有所不同?(我无法想象旧版VB6开发环境写的文件使用的字符集以外的东西,我猜它会使用由区域设置所确定的CP-xxxx编码,对吗?)
对于C#(以及我认为由MS支持的其他现代语言方言),字符码“\uFEFF”实际上可以在文件中间找到。此代码定义为零宽度不换行空格。当在标识符中间和空白处时,VS 2010似乎忽略它,但在关键字和数字中具有重要意义。那么规则是什么?或者MS是否有某种规范化标识符的方式来处理诸如复合字符之类的内容,从而允许将不同的标识符字符串视为相同?
最近的MS IDE似乎都将源代码文件读/写为UTF-8格式……但我不确定这总是正确的。是否有一些参考文献明确说明MS如何编写源代码文件?带或不带字节顺序标记(BOM)?IDE版本是否有所不同?(我无法想象旧版VB6开发环境写的文件使用的字符集以外的东西,我猜它会使用由区域设置所确定的CP-xxxx编码,对吗?)
对于C#(以及我认为由MS支持的其他现代语言方言),字符码“\uFEFF”实际上可以在文件中间找到。此代码定义为零宽度不换行空格。当在标识符中间和空白处时,VS 2010似乎忽略它,但在关键字和数字中具有重要意义。那么规则是什么?或者MS是否有某种规范化标识符的方式来处理诸如复合字符之类的内容,从而允许将不同的标识符字符串视为相同?