发布网友 发布时间:2022-04-23 11:12
共2个回答
热心网友 时间:2023-10-12 02:17
我们上网的时候不用去关心网站采用了什么编码格式,但是页面中不时出现的乱码还是会让我们头疼。在这点上,Firefox的用户更是深有体会,用Firefox浏览网页看到乱码的机会要比Internet Explorer多得多。 乱码主要与字符编码系统有关。例如一个网页中常出现的乱码“锟斤拷”(百度,Google),它就是新老编码系统转换中出现的。网友est专门写了一篇文章来考证问题来源:
Unicode和老编码体系的转化过程中,肯定有一些字,用Unicode是没法表示的,Unicode官方用了一个占位符来表示这些文字,这就是:U+FFFD REPLACEMENT CHARACTER。
那么U+FFFD的UTF-8编码出来,恰好是 ' '。如果这个' ',重复多次,例如 ' ',然后放到GBK/CP936/GB2312/GB18030的环境中显示的话,一个汉字2个字节,最终的结果就是:锟斤拷——锟(0xEFBF),斤(0xBDEF),拷(0xBFBD) 。
Python代码: 1.>>>u'\uFFFD'.encode('utf-8')*22.' '3.>>>4.>>>printu'\uFFFD'.encode('utf-8')*2输出结果:“锟斤拷”。
热心网友 时间:2023-10-12 02:18
如果在UTF-8编码的文件里输入两个连着的替换符号(�),再用GBK编码阅读就会出现这种情况