gpt4 book ai didi

visual-studio - "Csharp editor"和 "Csharp editor with encoding"有什么区别?

转载 作者:行者123 更新时间:2023-12-05 00:35:47 27 4
gpt4 key购买 nike

Open with .cs 的菜单文件有 Csharp editorCsharp editor with encoding .我打开了一个解决方案,并没有看到任何区别。

它们之间有什么区别?

最佳答案

除非您的 .cs 文件包含正常 ASCII 范围之外的字符,否则您不会看到文件实际内容的差异。不同之处在于编辑器是否会在您再次打开文件时尝试检测您保存文件时使用的字符编码,或者是否专门询问您。

默认情况下,当您保存新的 .cs 文件时,VS 使用当前的 ANSI 代码页对字符进行编码。 (您可以使用适当的选项将其切换为默认使用 UTF-8。)但是,您可以改为选择“使用编码保存...”,这将提示您输入要保存的特定字符编码。

在内部,您的代码被处理为 UTF-16,因为这是 Windows 处理的,因为它是 native 字符串格式。但是,在磁盘上,UTF-16 很可能会将您的源文件炸毁,使其大小增加一倍,因为您编写的大多数 C# 代码可能都适合单个字节。因此,当写入磁盘时,VS 会在一个特定的代码页中写出您的数据,该代码页定义了如何将 UTF-16 字符转换为其他一些可能的 8 位字符集。

当您在 VS 中重新加载文件时,它会尝试确定该文件的编码方式,如果不能,它将退回到当前的 ANSI 代码页。 (您可以通过某些选项强制它回退到 UTF-8,但它永远不会回退到不同的编码。)

当您“使用编码”重新加载文件时,您会收到与保存文件时相同的提示,询问您使用的是哪种编码。这样,如果 Studio 出错,您可以修复它。

除非您进行大量国际化编程,在您的 .cs 文件中嵌入了来自默认语言以外的外语字符串,否则您可能不需要使用显式的“带编码”保存或加载。但是,如果您需要它们,它们就在那里。

关于visual-studio - "Csharp editor"和 "Csharp editor with encoding"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8976429/

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