Active DirectoryからlogonHours属性をデコードして、Javaアプリケーションに正しく表示されるようにしようとしています。属性エディタを見ると、次のようになります。
logonHours 03 00 00 00 F0 FF 1F F0 FF 1F F0 FF 1F F0 FF 1F F0 FF 1F 00 FF
これは正確に21バイトの長さであり、これは私が期待していることです(毎日、3バイトでエンコードされ、合計で1日あたり24ビットになります)。これは、私が持っているlogonHoursの下の表示と一致することを意味します。ただし、私のエンコーディングは次のとおりです(毎日のビット文字列)
Sun: 00000000 (00) 00000000 (00) 00000000 (00)
Mon-Fri: 00001111 (0F) 11111111 (FF) 11111000 (F8)
Sat: 00000000 (00) 11111111 (FF) 11000000 (C0)
これにより、logonHours属性と表示の間に何らかのエンコードが発生していると思います。私はPerlコードとVBScriptを見てきました-これらのいずれかをJavaで変換すると、実際には一致しない単純な変換が行われます。
誰かがlogonHours属性を正しくデコードするためのJava、C#.NETまたは他の擬似コードを持っていますか?