我想读byte[]
使用 C# 和文件的当前编码。
正如 MSDN 中所写,当构造函数没有编码时,默认编码将为 UTF-8:
var reader = new StreamReader(new MemoryStream(data)).
我也尝试过,但仍然以 UTF-8 格式获取文件:
var reader = new StreamReader(new MemoryStream(data),true)
我需要阅读byte[]
使用当前编码。
文件没有编码。字节数组没有编码。字节没有编码。编码是将字节转换为文本,反之亦然。
您在文本编辑器等中看到的实际上是程序魔法:编辑器尝试不同的编码,然后guesses哪一个最有意义。这也是您使用布尔参数启用的功能。如果这不能产生你想要的结果,那么这个魔法就失败了。
var reader = new StreamReader(new MemoryStream(data), Encoding.Default);
将使用操作系统/位置特定的默认编码。如果这仍然不是您想要的,那么您需要完全明确,并告诉流读取器要使用什么确切的编码,例如(仅作为示例,您说您不想要 UTF8):
var reader = new StreamReader(new MemoryStream(data), Encoding.UTF8);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)