为什么问号出现在网络浏览器?(Why does question mark show up in w

2019-09-19 07:28发布

我是(重新)读乔尔对Unicode的伟大的文章和整个这一段,我没太明白就来了:

例如,你可以编码的Unicode字符串你好(U + 0048 U + 0065 U + 006C U + 006C U + 006F)的ASCII,还是老OEM希腊编码,或希伯来语ANSI编码,或任何几百编码的已迄今发明的,有一个陷阱:一些字母可能显示不出来! 如果有没有类似你想在你试图代表它的编码来表示Unicode代码点,你通常会得到一个小问号:? 或者,如果你真的很好,一箱。 哪弄来? - >

为什么会出现一个问号,他是什么意思由“或者,如果你真的很好,一箱”? 那他想什么字符显示?

Answer 1:

有一个问号,因为编码过程中识别出的编码不支持的字符,并替换一个问号代替。 通过“如果你真的很好,”他表示,“如果你有一个新的浏览器和适当的字体支持,”你会得到一个票友替换字符,一个盒子。

在乔尔的情况下,他是不是想展示一个真实的人物,他文字上包含Unicode替换字符, U + FFFD替换字符 。



Answer 2:

这是一个相当混乱的段落,我真的不知道是什么笔者想说。 总之,不同的浏览器(和其他方案)有处理与角色问题的不同方式。 问号“?”可能会出现在位置对于其存在的字体(一个或多个)无字形被使用的字符的,因此它有效地说“我不能显示字符”。浏览器可以可替换地使用一个小的矩形,或一些其他的指标,为了同样的目的。

但“”符号是替换字符是通常用来表示数据错误 ,例如,当字符数据已经从一些编码转换为Unicode它已含有一些字符不能以Unicode来表示。 浏览器通常使用“”在显示为一个相关目的:指示正被施加该字符数据不构成一个字符,在字符编码格式不正确的,含有字节。 当就好像它是在一些其他的编码正在处理一些数据编码这种情况经常发生。

因此,“”并不真正意味着“未知字符”,更不是“不可显示的字符”。 相反,它的意思是“不是一个字符”。



Answer 3:

当原始数据的字节序列不匹配数据的字符集,因此它不能正确解码问号出现。 出现这种情况,如果数据格式不正确,如果数据的字符集是在HTTP报头或HTML本身explicitally陈述不正确,字符集时,其他信息丢失错误地浏览器猜测,或用户的浏览器设置将覆盖数据的字符集与不兼容的字符集。

当被解码的字符未在正被用于显示的数据的字体存在出现一个框。



Answer 4:

只是它说什么 - 某些浏览器显示“一个奇怪的字符”,或者当前已知的字符集以外的问号字符。 这是他们的“哎,我不知道这是什么”的特点。 找一个旧版本的Netscape,粘贴一些文本形成使用智能引号Microsoft Word中,你会得到问号。

http://blog.salientdigital.com/2009/06/06/special-characters-showing-up-as-a-question-mark-inside-of-a-black-diamond/有一个体面的解释。



文章来源: Why does question mark show up in web browser?