【发布时间】:2020-01-14 14:56:32
【问题描述】:
我正在用 C++ 编写一个小程序,我想将这个字符存储在一个变量中:╔。但是,我只能在字符串中执行此操作,如果我使用 ' 表示法,它只会显示:�。
有什么我可以做的吗?
顺便说一句,我使用:
- Linux(薄荷)
- Visual Studio Code(集成终端)
如果我使用" 表示法,控制台会正确显示字符,所以可能不是控制台本身的问题。
【问题讨论】:
-
非标准字符是非标准的。在您的系统使用的编码中,该字符可能不适合单个字符。
-
不是 ASCII 字符。它是 U+2554 您可能将其存储为 UTF8,在这种情况下,它存储为 3 个字节:0xE2 0x95 0x94
-
虽然你没有使用 ASCII 操作系统,Linux 通常是 UTF-8,所以你需要打印 Ted 提到的 3 个字节以获得正确的字符
-
好的,那么我会找到一种方法来使用字符串而不是我猜的字符
-
ASCII 只能保证到代码 127。更高的代码是竞争标准的狂野西部领域。
标签: c++ character-encoding ascii non-ascii-characters