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,默认,本地?
Active Directory实现了使用UTF-8的LDAP v3。
您可以像这样从AD读取字节值:
Encoding.UTF8.GetString((byte[])userRow.Properties["mailNickname"][0]);