我正在从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属性及其类型是否有“备忘单”?
答案 0 :(得分:2)
Active Directory实现LDAP v3 and that uses UTF-8。
答案 1 :(得分:1)
您可以像这样读取AD中的字节值:
Encoding.UTF8.GetString((byte[])userRow.Properties["mailNickname"][0]);