Cteni BINARNI hodnoty z registru v C# v PPC
Chtel bych se zeptat zda nekdo neco takoveho resil. Ono se mi povede cist, ale problem nastane kdyz se vyskyte hodnota '00' a protoze pak nalezeny pole prevadim na String tak se mi ukousne prave tou nulou, i kdyz za ni jsou dalsi znaky.[CODE]byte{} bin = (byte{})key.GetValue(valueName); //misto {} si predstavte hranaty zavorky
Encoding enc = Encoding.Default;
string pom = enc.GetString(bin,0,bin.Length);
[/CODE]
prdem dekuji vsem za pripadne napady
Encoding enc = Encoding.Default;
string pom = enc.GetString(bin,0,bin.Length);
[/CODE]
prdem dekuji vsem za pripadne napady
Tohle se mi nedari nasimulovat, muzete napsat presne, co ma byt vysledkem a co naopak pri cteni dostanete.
Zkusil jste si "pohrat" s tridou Encoding?
Zkusil jste si "pohrat" s tridou Encoding?
Ono to pres tridu Encoding fungovalo, ale az do doby kdy tam byla 0, pri vypisu takoveho stringu text v tomto miste konci.
Uz to mam vyreseny takto:[CODE]
public static string ToHexString(byte{} bytes) // prevede pole na string typu "7A,FF,8B..."
{
char{} chars = new char{bytes.Length * 3};
for (int i = 0; i < bytes.Length; i++)
{
int b = bytes{i};
chars{i * 3} = hexDigits{b >> 4};
chars{i * 3 + 1} = hexDigits{b & 0xF};
chars{i * 3 + 2} = ',';
}
return new string(chars);
}
static char{} hexDigits = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
[/CODE]
Uz to mam vyreseny takto:[CODE]
public static string ToHexString(byte{} bytes) // prevede pole na string typu "7A,FF,8B..."
{
char{} chars = new char{bytes.Length * 3};
for (int i = 0; i < bytes.Length; i++)
{
int b = bytes{i};
chars{i * 3} = hexDigits{b >> 4};
chars{i * 3 + 1} = hexDigits{b & 0xF};
chars{i * 3 + 2} = ',';
}
return new string(chars);
}
static char{} hexDigits = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
[/CODE]
A kdyz tak vysledek meho snazeni je zde