【问题标题】:Is ascii character 255 an invisible character or space?ascii 字符 255 是不可见字符还是空格?
【发布时间】: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 位编码。跨度>

标签: c++ ascii


【解决方案1】:

在最常见的扩展 8 位 ASCII 表中,255 是“ÿ”符号(带有分音符号的拉丁文小写字母 y)。 空格字符是十进制值 32。 所以你正在搜索的可能是:

cout << char(32);

【讨论】:

  • 准确地说,就是 ISO-8859-x 扩展,例如 ISO-8859-1(与前 255 个 Unicode 代码点一致)
【解决方案2】:

我猜你的意思是当你按下 Alt + 255。
并且没有 Alt + 255 和空格是不一样的。

这是一个字符值表。

Char Dec Hex Oct
SPACE 32 20 40
Alt + 255   160   A0   240

我不太了解 C++,但也许是

cout << char(160);

【讨论】:

    【解决方案3】:

    ASCII 字符 255 实际上是一个不间断空格,或 NBSP!这肯定来不及了哈哈,不过255绝对可以当个空格。

    【讨论】:

      猜你喜欢
      • 2021-03-28
      • 1970-01-01
      • 1970-01-01
      • 2015-08-06
      • 1970-01-01
      • 1970-01-01
      • 2022-01-20
      • 2011-06-03
      • 2011-06-26
      相关资源
      最近更新 更多