streamWriter.Write(content,Encoding.UTF8)vs streamWriter.Write(content)

问题描述 投票:-2回答:1

有什么不同:

var content = "Some string";
streamWriter.Write(content, Encoding.UTF8);

VS

var content = "Some string";
streamWriter.Write(content);
c#
1个回答
0
投票

根据微软documentation of StreamWriterWrite没有这样的过载,它采用字符串和编码。如果要显式指定编码,则需要在创建时将其传递给StreamWriter的构造函数重载之一。

但是,在某些情况下,您可能会遇到重载方法,一个接受编码而另一个不接受编码。在回答您的问题时,区别在于第一个选项允许您明确在序列化字符串时使用的编码,第二个选项使用默认编码。

如果你总是在C#代码中编码和解码,那么你选择哪一个并不重要。您可以查看每个编码的优缺点,并决定使用特定的编码,或者您可以让C#为您选择一个。

如果你需要用C#编码,并用另一种语言解码(反之亦然),那么你肯定需要明确你使用的是哪种编码。

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