[ ..Spaceman @ 03.04.2015. 11:15 ] @
Pozdrav, imam deo koda u c# koji jednostavno ne funkcionise kako ja hocu

BinaryWriter BWRITER = new BinaryWriter(File.OpenWrite("D://aaa.txt"));
string ask= "AABBCCDDEEFF";

BWRITER.Write(ask);

BWRITER.Close();

Ovaj deo koda mi upise AABBCCDDEEFF kao text, a ja bi hteo da mi upise heksadecimalno i da dobijem iz hexadecimalnih brojeva karaktere. Sa sledecim slikama bi trebalo da bude jasnije

sa ovim kodom gore radi ovako:


A ja bi hteo ovako:


probao sam

BWRITER.Write(0xAABBCCDDEEFF); - Funksionise, ali kako da mu kazem da sve iz stringa ispise sa 0x?

BWRITER.Write(0x(ask)); - daje error.


[ dusans @ 03.04.2015. 12:23 ] @
Moraš da pretvoriš HEX string u niz bajtova:
Code:

public static byte[] ConvertHexStringToByteArray(string hexString)
{
    if (hexString.Length % 2 != 0)
    {
        throw new ArgumentException(String.Format(CultureInfo.InvariantCulture, 
            "The binary key cannot have an odd number of digits: {0}", hexString));
    }

    byte[] HexAsBytes = new byte[hexString.Length / 2];
    for (int index = 0; index < HexAsBytes.Length; index++)
    {
        string byteValue = hexString.Substring(index * 2, 2);
        HexAsBytes[index] = byte.Parse(byteValue, NumberStyles.HexNumber, CultureInfo.InvariantCulture);
    }

    return HexAsBytes; 
}


I onda upišeš u fajl:
Code:

var askBytes = ConvertHexStringToByteArray(ask);
BWRITER.Write(askBytes);
[ ..Spaceman @ 03.04.2015. 12:54 ] @
Radi odlicno!

Malo mi je komplikovan kod jer nisam puno programirao, ali ovako copy/paste radi super.

Puno hvala!