【发布时间】:2014-01-20 20:22:50
【问题描述】:
我正在编写一些代码来打印重叠的 ASCII 字符对象,并且我希望一些不可见而不是典型的“”空白字符。这能解决吗?
cout << char(255);
【问题讨论】:
-
没有“ASCII 255”之类的东西——ASCII 是一个 7 位字符集。见en.wikipedia.org/wiki/ASCII
-
ASCII 是 7 位编码,因此值在 0..127 范围内
-
您能否给出您想要实现的输出的可视化示例?因为我很难理解空间与隐形角色有何不同。
-
我认为,在你继续学习之前,你需要学习字符编码的基础知识,因为除非你这样做,否则你将在未来的某个时刻储存一个痛苦的世界
-
@Andrew:不,ASCII 从未包含 8 位。普遍的无知和不精确不会改变技术事实。这就是为什么,例如,请求
"\u00a0"的 ASCII 编码表示会在 .NET 和 Java 中返回一个包含 0x3f 的字节数组(ASCII 表示“?” - 当指定的字符无法表示时使用)。我同意通常不应该使用 ASCII(也不应该使用 8 位编码 - 有用的字符太多了,不合适),但 ASCII 仍然意味着它的含义:7 位编码。跨度>