我创建了一个可以创建256个唯一符号的程序,它工作正常.它通过写入二进制(1-2)的(char)演员来工作.但是如果我决定将(char)257打印到文件,该文件仍然有256个唯一符号.当我cout(char)257时,我在屏幕上看不到任何内容.这只是一个空洞的角色还是实际上指向某个东西?
此外,如果ASCII是128个字母,你会称这个术语为256个字符?UTF-8?
当你施放257到char,该值被截断为1.
假设sizeof(int)您的平台中为4 ,则以十六进制257表示0x00000101.当你char通过执行强制转换将其截断为a时,你得到0x01,等于1.表示的ASCII字符1不是可打印字符.因此,使用时看不到任何输出:
std::cout << (char)257;
Run Code Online (Sandbox Code Playgroud)
如果您使用:
char c = (char)257;
std::cout << (int)c << std::endl;
Run Code Online (Sandbox Code Playgroud)
你应该1看作输出.
你会称这个术语为256个字符?
我相信你在谈论扩展的ASCII字符.
| 归档时间: |
|
| 查看次数: |
1137 次 |
| 最近记录: |