Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 字符文本文件到二进制文本文件_C#_Arrays_Binary_Ascii - Fatal编程技术网

C# 字符文本文件到二进制文本文件

C# 字符文本文件到二进制文本文件,c#,arrays,binary,ascii,C#,Arrays,Binary,Ascii,我有一个包含一组记录的文本文件,我正在尝试将其转换并保存为1和0。。每次我使用 Byte [] arr=Encoding.UTF8.GetBytes(recordss) ; 用一个字节写入器来写,我仍然要用相同的记录文件,没有任何区别 所以我的问题是有一种方法可以将字符串转换成二进制,然后以二进制格式写入文件。顺便说一下,我用的是c 这是到目前为止我的代码 public static void serialData() { FileStream recFile = new FileSt

我有一个包含一组记录的文本文件,我正在尝试将其转换并保存为1和0。。每次我使用

Byte [] arr=Encoding.UTF8.GetBytes(recordss) ;
用一个字节写入器来写,我仍然要用相同的记录文件,没有任何区别

所以我的问题是有一种方法可以将字符串转换成二进制,然后以二进制格式写入文件。顺便说一下,我用的是c

这是到目前为止我的代码

public static void serialData()
{
    FileStream recFile = new FileStream("Records.txt", FileMode.Open, FileAccess.ReadWrite);   //file to be used for records

    StreamReader recordRead = new StreamReader(recFile);

    String recordss = recordRead.ReadToEnd();        //Reads Record file

    recordRead.Close();
    recFile.Close();

    Byte [] arr=Encoding.UTF8.GetBytes(recordss) ;

    FileStream file = new FileStream("Temp.txt", FileMode.Create, FileAccess.Write);
    StreamWriter binfile = new StreamWriter(file);

    for(int i =0; i < arr.Count();i++)
        binfile.WriteLine(arr[i]);

    binfile.Close();
    file.Close();
}
publicstaticvoidserialdata()
{
FileStream recFile=new FileStream(“Records.txt”,FileMode.Open,FileAccess.ReadWrite);//用于记录的文件
StreamReader recordRead=新的StreamReader(recFile);
字符串recordss=recordRead.ReadToEnd();//读取记录文件
recordRead.Close();
recFile.Close();
Byte[]arr=Encoding.UTF8.GetBytes(recordss);
FileStream file=newfilestream(“Temp.txt”,FileMode.Create,FileAccess.Write);
StreamWriter binfile=新StreamWriter(文件);
对于(int i=0;i
您的结果是“字节”格式的。总是。根据定义,它是数据。你“看到”它的方式取决于你用来打开它的软件

您需要的可能是一个文件,当在文本编辑器中打开时,“显示”原始数据源的底层二进制数据:为文本。为此,您必须在文件中写入字符“0”和“1”。因此,最终文件将比原始数据源大得多

更改此代码:

for(int i =0; i < arr.Count();i++)
    binfile.WriteLine(arr[i]);

但这有点难看。最好使用十六进制文件查看器。

您的结果是“字节”格式的。总是。根据定义,它是数据。你“看到”它的方式取决于你用来打开它的软件

您需要的可能是一个文件,当在文本编辑器中打开时,“显示”原始数据源的底层二进制数据:为文本。为此,您必须在文件中写入字符“0”和“1”。因此,最终文件将比原始数据源大得多

更改此代码:

for(int i =0; i < arr.Count();i++)
    binfile.WriteLine(arr[i]);

但这有点难看。最好使用十六进制文件查看器。

有一个内置函数,可以将整型值转换为二进制表示的字符串。试着换一条线

binfile.WriteLine(arr[i]);
按这条线

binfile.WriteLine(
    Convert.ToString(arr[i], 2)
);

将输入转换为给定基中的表示形式。在本例中,您选择
2
作为二进制表示的基础。其他常用值是八进制的
8
,或十六进制的
16

有一个内置函数,可以将整型值转换为二进制表示的字符串。试着换一条线

binfile.WriteLine(arr[i]);
按这条线

binfile.WriteLine(
    Convert.ToString(arr[i], 2)
);

将输入转换为给定基中的表示形式。在本例中,您选择
2
作为二进制表示的基础。其他常用值是八进制的
8
,或十六进制的
16

谢谢,但我的文件中只有1个,我有大约7条记录,他们不会只给我那个谢谢,但我的文件中只有1个,我有大约7条记录,他们不会只给我那个我要问的,但是,当我从计算机上阅读时,我如何从这个转换回来呢file@MohamedAbdelfattah例如,看一看。谢谢你终于让代码工作了。。祝你今天愉快,周末愉快:-)不客气。但要小心,你的大写锁定键似乎被卡住了:)我只是想问一下,但是当我从计算机上阅读时,我该如何从中转换回来呢file@MohamedAbdelfattah例如,看一看。谢谢你终于让代码工作了。。祝你今天愉快,周末愉快:-)不客气。但要小心,您的CAPS LOCK钥匙似乎卡住了:)