Я сделал инструмент, который я сделал для шифрования и расшифровки сообщений. Не то чтобы я работаю для военных или чего-то еще, меня просто заинтересовала концепция.BinaryReader и BinaryWriter для динамического короткого массива
Он принимает каждого персонажа и преобразует его в мой личный двоичный формат. Каждый символ расширен до 16 бит или short
. Каждое из этих коротких целых чисел хранится в одном массиве.
Моя цель - записать этот массив в файл в двоичном формате и иметь возможность прочитать его обратно в массив.
Вот что я начал:
//This is the array the encrypted characters are stored in.
short[] binaryStr = new short[32767];
//...
private void butSelInput_Click(object sender, EventArgs e)
{
dialogImportMsg.ShowDialog();
}
private void dialogImportMsg_FileOk(object sender, CancelEventArgs e)
{
using (BinaryReader reader = new BinaryReader(new FileStream(dialogImportMsg.FileName, FileMode.Open)))
{
for (short x = 0; x < (short)reader.BaseStream.Length; x++)
{
binaryStr[x] = reader.ReadInt16();
}
}
}
private void butExport_Click(object sender, EventArgs e)
{
dialogExportMsg.ShowDialog();
}
private void dialogExportMsg_FileOk(object sender, CancelEventArgs e)
{
using (BinaryWriter writer = new BinaryWriter(new FileStream(dialogExportMsg.FileName, FileMode.OpenOrCreate)))
{
for (int x = 0; x < binaryStr.Length; x++)
{
//if(binaryStr[x]
writer.Write(BitConverter.GetBytes(binaryStr[x]));
}
}
}
Очевидно, что я буду об этом неправильно, так как это не работает, как я хочу, чтобы это. Писатель может работать, но он записывает весь массив, который составляет 65534 байта. Я хочу, чтобы он только записывал символы, которые хранятся (т. Е. Все до последнего ненулевого символа). Тогда читателю следует соответствовать этому, читая символы из файла и помещая их в массив точно так же, как они были, когда они были экспортированы.
Итак, вопрос в том, как это сделать?
Вы пытались что-то с 'if (binaryStr [x])', разве это не работало? – niksofteng
Я собирался попытаться закончить цикл раньше ... Просто не знал, куда идти. –
Да, с какой проблемой вы столкнулись в этом? – niksofteng