Vay*_*age 8 .net c# windows-phone-7
今天我看到了一个使用UTF8Encoding.UTF8.GetBytes和Encoding.UTF8.GetBytes使用的代码.它们之间有什么区别吗?
Ode*_*ded 11
没有任何区别.
Encoding.UTF8 是 UTF8Encoding.
来自MSDN(Encoding.UTF8):
此属性返回UTF8Encoding对象
而不是UTF8Encoding.UTF8.GetBytes你可以简单地打电话UTF8Encoding.GetBytes.
小智 9
至少有一个区别.Encoding.UTF8将写入BOM而UTF8Encoding不会(默认情况下).看一下这个:
using System;
using System.Text;
class UTF8EncodingExample {
public static void Main() {
UTF8Encoding utf8 = new UTF8Encoding();
UTF8Encoding utf8EmitBOM = new UTF8Encoding(true);
Console.WriteLine("utf8 preamble:");
ShowArray(utf8.GetPreamble());
Console.WriteLine("utf8EmitBOM:");
ShowArray(utf8EmitBOM.GetPreamble());
Console.WriteLine("Encoding.UTF8 preamble:");
ShowArray(Encoding.UTF8.GetPreamble());
}
public static void ShowArray(Array theArray) {
foreach (Object o in theArray) {
Console.Write("[{0}]", o);
}
Console.WriteLine();
}
}
Run Code Online (Sandbox Code Playgroud)