AD属性为System.Byte[] -要转换为字符串的编码

本文关键字:转换 字符串 编码 属性 System Byte AD | 更新日期: 2023-09-27 18:12:17

我正在读取ActiveDirectory的displayName属性。

在Windows Server 2008中,result.Properties["displayName"][0].ToString()是displayName,而在Windows Server 2012上,它返回System.Byte[]。现在我必须使用类似的东西来转换这个值var buffer = result.Properties["displayName"][0]; Encoding.%SomeEncoding%.GetString(buffer, 0, buffer.Length);,
但我不知道微软选择了哪种编码- UTF, ISO,默认,本地?

顺便问一下,是否有关于AD属性及其可用类型的"备忘单"?

AD属性为System.Byte[] -要转换为字符串的编码

Active Directory实现了使用UTF-8的LDAP v3。

您可以像这样从AD读取字节值:

Encoding.UTF8.GetString((byte[])userRow.Properties["mailNickname"][0]);