将文件读入字节数组与字符串不同

Jou*_*man 10 c# arrays string

我在visual studio中有一个文件,其中包含以下内容:"{"Name":"Pete"}"如果我使用以下代码读取文件,则会显示创建一个包含原始值的字符串:

byte[] byteArray = System.IO.File.ReadAllBytes(filePath);
string jsonResponse = System.Text.Encoding.UTF8.GetString(byteArray);
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用以下代码,该字符串实际上与存在的版本不同:

string jsonResponse = "{\"Name\":\"Pete\"}";
Run Code Online (Sandbox Code Playgroud)

为什么?(我认为它不同的原因是因为当我将每个版本传递给json反序列化器时,它的行为有所不同)

谢谢.

Jon*_*eet 8

鉴于你在问题中的最终评论,我怀疑问题是你在文件的开头有一个字节顺序标记.尝试加载这样的文件:

string jsonResponse = File.ReadAllText(filePath);
Run Code Online (Sandbox Code Playgroud)

相信这会为你剥去BOM.或者,您可以尝试自己明确修剪它:

jsonResponse = jsonResponse.TrimStart('\feff');
Run Code Online (Sandbox Code Playgroud)