【发布时间】:2015-08-02 05:25:18
【问题描述】:
我正在尝试获取一些数据以写入二进制文件。数据由多个值(字符串、十进制、整数)组成,这些值需要是单个字符串,然后写入二进制文件。
到目前为止,我创建了文件,但它会将我的字符串在它们出现时放在那里,而不是将它们转换为二进制,当我在记事本中打开文件时,我认为它应该看起来像 1010001010 等?
实际输出是 Jesse23023130123456789.54321 而不是二进制数字。
我在哪里弄错了?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace BinaryData
{
class Program
{
static void Main(string[] args)
{
string name = "Jesse";
int courseNum = 230;
int num = 23130;
decimal d = 123456789.54321M;
string combined = name + courseNum + num + d;
FileStream writeStream;
writeStream = new FileStream("BinaryData.dat", FileMode.Create);
BinaryWriter bw = new BinaryWriter(writeStream);
bw.Write(combined);
}
}
}
【问题讨论】:
-
您希望将 0 和 1 写入文件?
-
好的,但记事本显示文本。不是二进制的,所以,一个包含你写为位的文本的填充,仍然是文本..你只是一点一点地写它..@Shar1er80 为你找到了答案
-
请注意,所有文本文件都是“二进制”文件,因为它们包含字节。某些文件被视为文本文件的事实只是一种约定,将字节解释为文本的决定。记事本遵循该约定,因此除非您将 text 1010101 写入文件,否则将打开二进制文件,就好像它包含文本一样。
标签: c#