hex формат



Автор Александр Иванов задал вопрос в разделе Другие языки и технологии

C# запись файла в Hex формате и получил лучший ответ

Ответ от Пётр Добрынин[гуру]
FileStream stream = new FileStream("file.file", FileMode.OpenOrCreate, FileAccess.ReadWrite);
public Form1()
{
stream.WriteByte(255);
stream.WriteByte(255);
stream.WriteByte(255);
stream.Position = 0;
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < stream.Length; i++)
textBox1.Text += string.Format("{0:X} ", stream.ReadByte());
stream.Close();
}

Ответ от Jurijus Zaksas[гуру]
Точнее ставь задачу, что именно тебе нужно? Бинарный файл? Текстовый файл с 16-ричной записью каких-то чисел? Что?

Ответ от Александр Свиридов[гуру]
Текстовая запись - перекодирование текста в определённой кодировке, то есть одна буква может занимать и 1 байт, и 8 байт. Визуально будет одно и то же.
Бинарная запись - запись не текстовых данных в файл. Ибо будь у вас данные текстовые, их пришлось бы сперва превратить в массив байтов соответственно кодировке в которой вы хотите текст сохранить. А потом записать бинарные данные.
Отсюда выводы.
1) В любом случае запись будет в бинарном формате. Записанные байты корректно отображаются в HEX редакторе, но если вы буквы превратили в байты то за это отвечает кодировка.
2) Получение бинарных данных из текста связано с кодировкой в которой вы сохраняете текст. Ищите подходящую кодировку. Простая виндовая 1251 требует на 1 букву 1 байт текста. Но сохраняет только русский и английский текст.

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: C# запись файла в Hex формате
Intel HEX на Википедии
Посмотрите статью на википедии про Intel HEX
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*