我正在从 SetupAPI 调用中收集 EDID 块(作为字节),以获取一些详细的监视器信息。
正如EDID 文档所说,某些字节在其中存储“5 位字母”。
只是为了让您免于头痛,我附上了一个易于理解的方案:
如您所见,我需要从字节中提取 5 位字母。
我可以设法将字节拆分为 BitArray,但是我不知道如何将这些位转换为字母。
维基还说:
"00001=A”; “00010=B”; ... “11010=Z”.
那么,转换这些位的最快和最轻松的方法是什么?
我想我可以预定义一个 Dictionary 对象,例如:
Dictionary<BitArray, char> letters = new Dictionary<BitArray, char>();
letters.Add(new BitArray(new int[] { 0, 0, 0, 1 }), Convert.ToChar("A"));
letters.Add(new BitArray(new int[] { 0, 0, 1, 0 }), Convert.ToChar("B"));
然后在其中搜索,但首先我不知道如何从“00010=B”到“11010=Z”,其次我确定必须有更合适的方法。
谢谢你的帮助。