Har en text-sträng som består av 1:or och 0:or t.ex "010000101010..."
Denna sträng vill jag spara ner binärt. Detta för att jag vill spara ner det på ett ROM-minne och programet som ska spara ner detta kräver att den fil som kommer in är binär.
Hur gör jag detta? Har försökt med kod kopierad från msdn:
FileStream fs = new FileStream(FILE_NAME, FileMode.CreateNew);
// Create the writer for data.
BinaryWriter w = new BinaryWriter(fs);
// Write data to Test.data.
w.Write("100001010101");
w.Close();
Kanske fungerar det? Öppnar jag filen i notepad så ser jag mina 1:or och 0:or och ett konsigt tecken framför. Men jag vill ju se hur den ser ut binärt. Kan man göra det på något sätt?
Du behöver konvertera din sträng till en int. Har tyvärr inte använt c# så jag vet inte vad det finns för såna funktioner. Tänk dock på att funktionen måste köpa att strängen representerar ett tal i basen 2.
Hur gör jag detta? Har försökt med kod kopierad från msdn:
FileStream fs = new FileStream(FILE_NAME, FileMode.CreateNew);
// Create the writer for data.
BinaryWriter w = new BinaryWriter(fs);
// Write data to Test.data.
w.Write("100001010101");
w.Close();
Kanske fungerar det? Öppnar jag filen i notepad så ser jag mina 1:or och 0:or och ett konsigt tecken framför. Men jag vill ju se hur den ser ut binärt. Kan man göra det på något sätt?
Problemet med denna lösning är att du inte uppnår det resultat som jag gissar att du vill ha. I själva verket kommer varje etta och nolla representeras av åtta bitar vardera. Dessa bitar kommer representera ascii-koderna för tecknen "1" och "0". Om du vill att ettorna och nollorna ska skrivas som enskilda bitar, skulle jag rekommendera dig att kolla upp hur man använder bitwise-operatorer för att få kontroll på allt ner till minsta bit.
Problemet med denna lösning är att du inte uppnår det resultat som jag gissar att du vill ha. I själva verket kommer varje etta och nolla representeras av åtta bitar vardera. Dessa bitar kommer representera ascii-koderna för tecknen "1" och "0". Om du vill att ettorna och nollorna ska skrivas som enskilda bitar, skulle jag rekommendera dig att kolla upp hur man använder bitwise-operatorer för att få kontroll på allt ner till minsta bit.
Yepps, fungerade efter lite omkodning till int/byte och sen skriva!
265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e