c# stream.ReadByte encoding 示例
时间: 2024-09-21 17:01:13 浏览: 73
C#流(stream).pdf
在C#中,`Stream.ReadByte()` 方法用于从指定的流读取一个字节,并返回该字节的值(范围是0到255)。这个操作通常是在处理二进制数据,尤其是当需要逐个读取字节时。如果你想结合编码(Encoding),比如UTF8编码,通常会在读取字节后手动转换成字符。
下面是一个简单的示例,假设我们有一个已经打开的FileStream:
```csharp
using System.IO;
using System.Text;
byte[] buffer = new byte[1];
int bytesRead = fileStream.ReadByte();
// 如果有字节读取成功
if (bytesRead > 0)
{
// 将字节数组转换为UTF8编码的字符
char decodedChar = Encoding.UTF8.GetChars(buffer)[0];
Console.WriteLine("Decoded character: {0}", decodedChar);
}
else
{
Console.WriteLine("No bytes read");
}
// 关闭流后记得释放资源
fileStream.Close();
```
在这个例子中,如果从文件流中读取到了一个字节,它会被转换成对应的UTF8字符。请注意,如果没有指定编码,直接将字节转换成字符串可能会导致乱码,因为默认的行为依赖于系统的当前设置。
阅读全文