Convertir byte[] o el objeto a GUID

Yo le asigna algún valor para objetos de tipo de datos como,

object objData =dc.GetDirectoryEntry().Properties["objectGUID"].Value;

este objeto devolver el valor como {byte[16]}
[0]: 145
[1]: 104
[2]: 117
[3]: 139
[4]: 124
[5]: 15
[6]: 255
[7]: 68
[8]: 142
[9]: 159
[10]: 208
[11]: 102
[12]: 148
[13]: 157
[14]: 179
[15]: 75

Entonces puedo lanzar este objeto a byte[], como

byte[] binaryData = objData as byte[];

También regresará como,
{byte[16]}
[0]: 145
[1]: 104
[2]: 117
[3]: 139
[4]: 124
[5]: 15
[6]: 255
[7]: 68
[8]: 142
[9]: 159
[10]: 208
[11]: 102
[12]: 148
[13]: 157
[14]: 179
[15]: 75

Entonces tengo que convertir los valores hexadecimales de byte[] como,

string strHex = BitConverter.ToString(binaryData);

Será retorno como **91-68-75-8B-7C-0F-FF-44-8E-9F-D0-66-94-9D-B3-4B**..
Pero necesito la salida como formato GUID, ¿Cómo puedo lograr esto?

OriginalEl autor Manikandan Sethuraju | 2012-06-02

4 Kommentare

  1. 47

    Cómo sobre el uso de la Guid constructor que toma una matriz de bytes?

    Guid guid = new Guid(binaryData);

    (Usted puede utilizar Guid.ToString() para conseguir en forma de texto si es necesario.)

    ,,, Gracias por su respuesta.. es… Es de todos modos hay que convertir el GUID del objeto tipo de datos?
    Usted sólo debe emitidos, por ejemplo, new Guid((byte[]) objData)
    No estoy realmente seguro de lo que estás preguntando.

    OriginalEl autor Jon Skeet

  2. 2

    La forma larga sería (escriba aquí la descripción del enlace):

    public static string ConvertGuidToOctectString(string objectGuid)
    {
        System.Guid guid = new Guid(objectGuid);
        byte[] byteGuid = guid.ToByteArray();
        string queryGuid = "";
        foreach (byte b in byteGuid)
        {
            queryGuid += @"\" + b.ToString("x2");
        }
        return queryGuid;
    }
    Actualmente estoy usando exactamente esto para una consulta LDAP. Gracias. Pero no hay «oficial» .net framework método para obtener el octeto de la representación?

    OriginalEl autor Michael Flyger

  3. 2
    byte[] binaryData = objData as byte[];
    string strHex = BitConverter.ToString(binaryData);
    Guid id = new Guid(strHex.Replace("-", ""))

    OriginalEl autor André Voltolini

  4. 0

    La System.DirectoryServices.DirectoryEntry clase tiene la propiedad Guid para este propósito – no hay necesidad de acceder al atributo objectGUID a través de Properties.

    OriginalEl autor dahvyd

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea