C# 文件读写十六进制
时间: 2025-02-19 13:32:22 浏览: 61
### C# 文件的十六进制读写操作
在C#中,可以利用`FileStream`类来执行文件的低级读写操作。对于十六进制数据处理而言,通常会先将字节数组转换成字符串表示形式以便于查看或进一步处理。
#### 使用 `Convert.ToHexString()` 和 `BitConverter`
为了方便地把字节序列转化为易于阅读的形式,在.NET Core 2.1及以上版本提供了静态方法`Convert.ToHexString(byte[] array)`用于获取给定字节数组对应的十六进制编码字符串[^1]。
```csharp
using System;
using System.IO;
class Program {
static void Main() {
string filePath = "example.bin";
// 写入二进制数据并打印其十六进制表示
byte[] dataToWrite = { 0x48, 0x65, 0x6C, 0x6C, 0x6F }; // ASCII for Hello
using (var fs = new FileStream(filePath, FileMode.Create)) {
fs.Write(dataToWrite, 0, dataToWrite.Length);
Console.WriteLine($"Written bytes as hex: {BitConverter.ToString(dataToWrite)}");
}
// 读取二进制数据并显示为十六进制字符串
if(File.Exists(filePath)){
using(var fsRead = new FileStream(filePath, FileMode.Open))
{
int length = (int)new FileInfo(filePath).Length;
byte[] buffer = new byte[length];
fsRead.Read(buffer, 0, length);
Console.WriteLine($"Read bytes as hex: {BitConverter.ToString(buffer)}");
}
} else{
Console.WriteLine("File does not exist.");
}
}
}
```
这段代码展示了如何创建一个包含特定内容的新文件,并将其内部存储的数据作为十六进制字符串输出;同时也演示了打开现有文件并将其中的内容以相同方式呈现的过程。注意这里使用到了`BitConverter.ToString()`来进行简单的十六进制展示。
当涉及到更复杂的场景时,可能还需要考虑其他因素如大文件的支持、错误处理机制等。此时可以选择引入专门针对此类需求开发的功能库或是工具集,例如前面提到过的WPF十六进制编辑器控件(WpfHexEditorControl),这能极大简化工作流程并提高效率[^3]。
阅读全文
相关推荐


















