为什么我的系统在写入Console时会发出蜂鸣声

我正在为我在我的应用程序中使用的Web服务编写控制台测试程序。 当我将输出写入我的控制台(JSON)以获得足够大的设置时,控制台应用程序旋转并开始发出哔哔声5-10秒。 我检查了输出的\ a并且找不到一个,所以我不确定是什么导致了哔哔声。

在这一点上,我只是猜测长输出,但我不确定问题可能是什么,或者是否有任何解决方案。

可能是BEL?

CTL-G

7

7

BEL

需要注意时使用的控制字符; 它可以控制警报或注意装置。

我在尝试写入事件日志时看到类似的东西,但它已满。

尝试Start > Run... > eventvwr然后清除一些日志或更改日志的最大大小(通过’操作’菜单)。

即使您检查BELL字符的输入,它仍可能会发出蜂鸣声。 这是由于字体设置和unicode转换。 有问题的人物是U + 2022 ,Bullet。

Raymond Chen 解释说 :

在OEM代码页中,项目符号字符正在转换为蜂鸣声。 但那是为什么呢?

你所看到的是反过来的MB_USEGLYPHCHARS。 迈克尔卡普兰不久前讨论过MB_USEGLYPHCHARS。 它确定在转换为Unicode时是将某些字符视为控制字符还是可打印字符。 例如,它控制是否应将ASCII铃声字符0x07转换为Unicode铃声字符U + 0007或Unicode子弹U + 2022。 您需要MB_USEGLYPHCHARS标志来决定转换为Unicode时要采用的方法,但从Unicode转换时没有相应的歧义。 从Unicode转换时,U + 0007和U + 2022都映射到ASCII铃声字符。