Ori*_*Ori 2 .net c# encoding stream streamreader
我想byte[]用C#读取文件的当前编码.
正如在MSDN中编写的那样,当构造函数没有编码时,默认编码将是UTF-8:
var reader = new StreamReader(new MemoryStream(data)).
Run Code Online (Sandbox Code Playgroud)
我也试过这个,但仍然把文件作为UTF-8:
var reader = new StreamReader(new MemoryStream(data),true)
Run Code Online (Sandbox Code Playgroud)
我需要byte[]用当前编码来阅读.
Jan*_*aus 10
文件没有编码.字节数组没有编码.一个字节没有编码.编码是将字节转换为文本的内容,反之亦然.
您在文本编辑器等中看到的实际上是程序魔术:编辑器尝试不同的编码然后猜测哪一个最有意义.这也是您使用boolean参数启用的内容.如果这不能产生你想要的东西,那么这种魔法就会失败.
var reader = new StreamReader(new MemoryStream(data), Encoding.Default);
Run Code Online (Sandbox Code Playgroud)
将使用OS/Location特定的默认编码.如果那仍然不是你想要的,那么你需要完全明确,并告诉streamreader要使用的确切编码,例如(就像一个例子,你说你不想要UTF8):
var reader = new StreamReader(new MemoryStream(data), Encoding.UTF8);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19560 次 |
| 最近记录: |