经典乱码“烫烫烫”和“屯屯屯”

拈花ヽ惹草 提交于 2020-04-03 21:34:15

感觉这几天有人对我的网名感兴趣,今天我就简单介绍一下我的网名由来。

 

    程序猿有个经典的内部笑话:手持两把锟斤拷,口中疾呼烫烫烫。

    写过代码的人都碰到过。

    烫烫烫和屯屯屯产生自VC,这是debug模式下VC对内存的初始化操作。VC会把栈中新分配的内存初始化为0xcc,而把堆中新分配的内存初始化为 0xcd。(0xcc恰好是终端指令int 3,算是保护吗?)把0xcc和0xcd按照字符打印出来,就是烫和屯了。

    还有锟斤拷,这个是字符编码造成的。在进行从老的编码体系到unicode的转换过程中,部分字符不能转化,于是unicode给了它们一个特殊的占位符 U+FFFD,这个用UTF-8表示就成了\xef\xbf\xbd。如果出现两个连着的\xef\xbf\xbd\xef\xbf\xbd,按照两个字 节一个字显示成汉字,就成了锟斤拷这三个字。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!