Affichage code binaire [Résolu]

Francks11 71 Messages postés mardi 20 décembre 2005Date d'inscription 13 décembre 2008 Dernière intervention - 29 oct. 2007 à 15:51 - Dernière réponse : Francks11 71 Messages postés mardi 20 décembre 2005Date d'inscription 13 décembre 2008 Dernière intervention
- 30 oct. 2007 à 13:15
Bonjour,


Voila mon problème :


Dans l'active directory, j'aimerai récuperer le objectSid qui est un attribut binaire.
Le contenu du champ est de cette forme : 01  06  00  00  00  00  00  05  14  00  00  00  73  4C  0E  08


Donc je recupere l'information objectSid comme ceci.


DirEntry.Properties["objectSid"].Value;


Le problème est le fait, que lorsque je l'affichage, il m'affiche System.byte[].


Moi j'aimerai pouvoir récuperer le même code hexadecimal qu'au dessus, comment faire?


merci
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
cs_niky 168 Messages postés jeudi 28 juin 2001Date d'inscription 18 octobre 2008 Dernière intervention - 29 oct. 2007 à 19:10
3
Merci
Salut,
Essayes ça :

string hexa = string.Empty;
foreach (byte b in DirEntry.Properties["objectSid"].Value) // Parcours du tableau de byte
{
    // Convertit le byte en une chaîne en base 16.
    if (hexa.Length > 0)
        hexa += " " + Convert.ToString(b, 16);
    else

        hexa = Convert.ToString(b, 16);
}
// Affichage du résultat
Console.WriteLine(hexa);

Cordialement.

Merci cs_niky 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cs_niky
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 30 oct. 2007 à 09:51
0
Merci
en plus propre :

StringBuilder sb = new StringBuilder();
Array.ForEach( DirEntry.Properties["objectSid"].Value,
   delegate( byte b ) {
      sb.AppendFormat(" {0:00}");
   }
);

sb.ToString() donnera (normalement) "01  06  00  00  00  00  00  05  14  00  00  00  73  4C  0E  08"

je n'ai pas testé

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Commenter la réponse de sebmafate
SharpMao 1025 Messages postés mardi 4 février 2003Date d'inscription 7 juin 2010 Dernière intervention - 30 oct. 2007 à 10:05
0
Merci
Hello,

J'allais justement mettre une petite remarque à ce sujet, mais sebmafate m'a devancé.

Par contre, pour que ça fonctionne :

sb.AppendFormat(" {0:X2}",b);

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
Commenter la réponse de SharpMao
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 30 oct. 2007 à 10:11
0
Merci
oops... une erreur en effet...
mais plutot : sb.AppendFormat(" {0:00}",b);

car sinon, la chaine sera 0X01 0X06...

Merci pour la correction

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Commenter la réponse de sebmafate
SharpMao 1025 Messages postés mardi 4 février 2003Date d'inscription 7 juin 2010 Dernière intervention - 30 oct. 2007 à 11:23
0
Merci
Par contre, je maintiens mon X2, si on veux afficher 0E et non 14...

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
Commenter la réponse de SharpMao
Francks11 71 Messages postés mardi 20 décembre 2005Date d'inscription 13 décembre 2008 Dernière intervention - 30 oct. 2007 à 13:15
0
Merci
Ok merci, je me suis aidé de la première réponse.
Commenter la réponse de Francks11

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.