亂碼
文字化け,发音为/modʑibake/)是计算机软件不能正确显示文字时,所显示的不正确、不可读的字符的名称。在使用计算机时,文本是用字符编码的。在传输中,每个字符都被它在编码中的位置(或数字)所取代。为了再次显示该字符,该位置再次被该字符取代。当没有指定原始编码时,当数字再次被替换为显示的字符时,可能会使用一个不同的字符。Unicode的出现就是为了解决这个问题:UTF-8能够对大多数常见的字符进行2个字节的编码。
在Unicode被引入之前,其他的字符编码被使用。举例来说,ISO-8859包含15种不同的编码。这些都是英语中常用的字符。它们有几个 "块 "的 "特殊字符",每个编码的归档方式不同。
如果使用错误的字体编码,网站就会变成这个样子。
日语维基百科上的Mojibake文章使用UTF-8编码。这张截图显示了使用标准的Windows CP1252编码进行解码时的情况。
该词的起源
Mojibake是一个日语单词。文字化け([moʥibake])这个词由两部分组成。 文字(moji)的意思是字母、字符。化け(bake),来自动词化ける(bakeru),意思是变相出现,采取形式,变坏。从字面上看,它的意思是 "性格变异"。
问题和答案
问:什么是 "mojibake"?答:Mojibake是指计算机软件不能正确显示文字时出现的不正确和不可读的字符的术语。
问:使用计算机时,文本是如何编码的?
答:文字是用字符编码的,每个字符都是用它在编码中的位置或数字来代替。
问:在传输文本时,如果没有指定原始编码会怎样?
答:当没有指定原始编码时,当数字被替换成显示用的字符时,可能会使用不同的字符。
问:什么是Unicode,它是如何解决这个问题的?
答:Unicode是一种字符编码标准,可以用两个字节表示大多数字符。它解决了使用不同字符编码的问题,并确保字符的正确显示。
问:在Unicode之前,有哪些其他字符编码的例子?
答:ISO-8859是在Unicode之前使用的另一种字符编码的例子。
问:ISO-8859包含多少种不同的编码?
答:ISO-8859包含15种不同的编码。
问:ISO-8859中的特殊字符在所有的编码中都是一样的吗?
答:不是,ISO-8859中的特殊字符在每个编码中都有不同的存档。