Странный блокнот ++ плагин с шестигранникомC#

Место общения программистов C#
Ответить
Anonymous
 Странный блокнот ++ плагин с шестигранником

Сообщение Anonymous »

Цель состоит в том, чтобы написать байтовый массив для файла.
у меня есть байтовая массива [] с некоторыми байтами, а затем: < /p>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace _32_to_16
{
class Program
{
static void Main(string[] args)
{
byte[] fits = File.ReadAllBytes("1.myf");
byte[] img = new byte[fits.Length / 2];
for (int i = 0; i < fits.Length; i += 4) //Drops 2 high bytes
{
img[i/2] = fits[i + 2];
img[i/2 + 1] = fits[i + 3];
}
File.WriteAllBytes("new.myf", img);
}
}
}
< /code>

перед написанием в файл img [] имеет одинаковые значения: < /p>


img [0] = 0x31 < /li>
img [1] = 0x27 < /li>
img [2] = 0x < /li>
img [2] = 0x < /li>
img [2] = 0x27 < /li>
img [2] /> img [3] = 0xe2 < /li>
и так далее ... < /li>
< /ul>

после написания в файл, в hex editor я вижу < /p>


0000000000: 31 21 31 3f и другие неправильные значения. />
Иногда, с другими значениями [] [], img [] массив правильно запишите в файл. Что я делаю не так? https://www.dropbox.com/s/zrglpx7kmpydurz/2.myf?dl=0

Я упростил код:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace _32_to_16
{
class Program
{
static void Main(string[] args)
{
byte[] img_correct = new byte[8] { 0xbd, 0x19, 0xbd, 0x72, 0xbd, 0x93, 0xbd, 0xf7 };
File.WriteAllBytes("img_correct.myf", img_correct);

byte[] img_strange = new byte[8] { 0x33, 0x08, 0x33, 0xac, 0x33, 0xe3, 0x33, 0x94 };
File.WriteAllBytes("img_strange.myf", img_strange);
}
}
}
< /code>

в hex-editor img_correct.myf выглядит так:
bd 19 bd 72 bd 93 bd f7 < /p>

В Hex-Editor img_strange.myf выглядит как:
33 33 33 3f 3f < /p.>

Подробнее здесь: https://stackoverflow.com/questions/358 ... tor-plugin
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»