我在Ask Ubuntu帮助某人解决将Wiimote连接到Ubuntu的简单问题,但我们在驱动程序中遇到了一个错误。
驱动程序会为设备请求蓝牙pairing code
,但用户没有。
用户在wiibrew上发现了一篇帖子,解释了如何用一点C代码提取代码。
他们给
char pin[6];
pin[0] = 0x6D;
pin[1] = 0x7E;
pin[2] = 0x3B;
pin[3] = 0x35;
pin[4] = 0x1E;
pin[5] = 0x00;
所以。用户制作了他们认为有效的C文件
#include <stdio.h>
int main(void)
{
char pin[6];
pin[0] = 0x41;
pin[1] = 0x7D;
pin[2] = 0x5D;
pin[3] = 0x8A;
pin[4] = 0xD2;
pin[5] = 0x40;
printf("the password is:n"); printf("%s n", pin );
}
该代码编译良好,没有错误,但它应该产生一个6个数字的密码,但只显示看起来像无意义的字符,
A}]��@
由于我不是程序员,我不明白这个输出有什么问题,为什么它会给出这个结果,以及我们如何使用它来获得实际的配对代码?
它正在打印精细的0x8A
和0xD2
不是有效的ASCII字符。Ascii使用十六进制值0x00-0x7F。
请参阅此处