将 C# 字符串转换为流

问题描述 投票:0回答:1

要将字符串转换为流,代码通常是:

byte[] byteArray = System.Text.Encoding.ASCII.GetBytes(inputString);
MemoryStream stream = new MemoryStream(byteArray);

其中的关键是编码。虽然 C# 中的字符串是 Unicode,但文件中的字符串是该文件预期的编码。因此,这意味着需要根据其要去向来选择编码。

如果我错了,请纠正我,但我认为这意味着对于 .txt 文件,请使用

Encoding.ASCII
,因为该文件是由需要 8 位字符的文本编辑器读取的。

写入html文件时,应该是

Encoding.UTF8
吗?

编写 .js 或 .css 文件时应该是什么?

c# html character-encoding
1个回答
1
投票

ASCII 是 7 位编码(高位未定义)。 (参见https://en.wikipedia.org/wiki/ASCII)。许多人将 ASCII 与 Windows 传统上称为 ANSI(即代码页)的内容混淆,后者是 8 位编码。您将希望避免处理 ASCII 和代码页(这没有什么好处),除非您在工作环境中有非常具体的应用程序或限制(例如使用大型机数据)。

由于您只提到面向 Web 的文件类型,因此您应该对所有文件类型使用 UTF-8(不含 BOM)。

当今大多数文本编辑器都透明地支持 UTF-8,它是纯文本的现代标准。

只需使用不带 BOM 的 UTF-8,然后回来再次询问您是否遇到过发现问题的情况,然后我们可以帮助解决该情况或工具/编辑器/流程的具体情况。

© www.soinside.com 2019 - 2024. All rights reserved.