J'essaie de rechercher une valeur hexadécimale dans un fichier, si cette valeur est présente, j'ai besoin de copier 16 octets de char
à partir de cette position trouvée. J'essaie de faire la même chose en C#.Hex Valeur Trouver avec C#
Veuillez trouver ci-dessous mon code essayé, la correction sera grandement appréciée.
BinaryReader bw = new BinaryReader(File.OpenRead(filepath));
byte[] bc = { 0xa0, 0x00, 0x00, 0x03 };
for (int i = 0; i < br.BaseStream.Length-10;i++)
{
if (bw.ReadUInt32() == 0xa00003)
{
Console.WriteLine("Found @ {0}", i);
}
bw.Close();
I "m obtenir une erreur comme suit:
Une exception non gérée du type 'System.IO.EndOfStreamException' est produite dans mscorlib.dll
Informations complémentaires: Impossible de lire au-delà de la fin du flux
Que voulez-vous dire par "16 octets de caractère"? Les caractères et les octets sont très différents, et vous devez savoir * exactement * ce que vous voulez. Je soupçonne que votre erreur est parce que vous lisez 4 octets à la fois, mais en lisant (length-in-byte - 10) fois. –
Chaîne qui contient 16 caractères – jOSe
Ah, bien que cela pourrait être plus de 16 octets ... et vous devez savoir quel encodage est utilisé. Sais-tu cela? –