2012-07-17 41 views
4

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

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

+1

有一个类似的问题,如果输出的大小超过控制台上的行缓冲区,它会对我发出哔声。你有没有尝试调整垂直缓冲区大小? – lukiffer 2012-07-17 06:08:03

+0

@lukiffer我将BufferHeight设置为? – 2012-07-17 06:11:02

+0

取决于输出的大小。足够的垂直线来显示输出......我最终不得不将数据分块并分成Console.Write()调用。 – lukiffer 2012-07-17 06:12:28

回答

0

可能是BEL?

CTL-G

BEL

BELL

是当有需要调用用于关注所使用的控制字符;它可以控制警报或注意装置。

+1

他说没有'\ a'的迹象控制台输出。 '\ a'是'BEL'的转义序列。 – BoltClock 2012-07-17 06:04:39

0

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

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

0

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

雷蒙德陈explains

在OEM代码页,子弹字符被转换为 蜂鸣声。但为什么呢?

你看到的是MB_USEGLYPHCHARS反向。 Michael Kaplan 前段时间讨论了MB_USEGLYPHCHARS。它确定某些 字符在转换为Unicode时是否应被视为控制字符或者是否可打印为 字符。例如,它控制 是否应将ASCII铃声字符0x07转换为 Unicode铃声字符U + 0007或Unicode项目符号U + 2022。您 需要MB_USEGLYPHCHARS标志来决定何时将 转换为Unicode,但在从Unicode转换 时没有相应的歧义。从Unicode转换时,U + 0007和 U + 2022映射到ASCII铃声字符。

相关问题