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

时间:2014-07-09 07:32:52

标签: c# active-directory

我正在从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属性及其类型是否有“备忘单”?

2 个答案:

答案 0 :(得分:2)

Active Directory实现LDAP v3 and that uses UTF-8

答案 1 :(得分:1)

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

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