非程序员,
看到第二行就看不下去了,看不懂了
【 在 ackerx (everything) 的大作中提到: 】
: 标 题: 看到个有意思的,分享之
: 发信站: 水木社区 (Tue Dec 22 17:19:53 2020), 站内
:
: 在程序员网站上经常看到一个段子(满满的都是泪啊)
:
: 手持两把锟斤拷,口中疾呼烫烫烫。
: 解释一下为什么会是这两个东西不是别的= =:
:
: 棍斤拷乱码:
:
: 源于GBK字符集和Unicode字符集之间的转换问题。Unicode和老编码体系的转化过程中,肯定有一些字,用Unicode是没法表示的,Unicode官方用了一个占位符来表示这些文字,这就是:U+FFFD REPLACEMENT CHARACTER。那么U+FFFD的UTF-8编码出来,恰好是 '\xef\xbf\xbd'。如果这个'\xef\xbf\xbd',重复多次,例如 '\xef\xbf\xbd\xef\xbf\xbd',然后放到GBK/CP936/GB2312/GB18030的环境中显示的话,一个汉字2个字节,最终的结果就是:锟斤拷——锟(0xEFBF),斤(0xBDEF),拷(0xBFBD)。
:
: 烫烫烫乱码:
:
: 在windows平台下,ms的编译器(也就是vc带的那个)在 Debug 模式下,会把未初始化的栈内存全部填成 0xcc,用字符串来看就是"烫烫烫烫烫烫烫",未初始化的堆内存全部填成0xcd,字符串看就是“屯屯屯屯屯屯屯屯”。也就是说出现了烫烫烫,赶紧检查初始化吧。。。
: --
:
: ※ 来源:·水木社区
http://www.newsmth.net·[FROM: 222.68.18.*]
--
FROM 202.98.13.*