View on GitHub

ninecents.github.io

软件业的小学生

有趣的字节

手持两把锟斤拷,口中疾呼烫烫烫。脚踏千朵屯屯屯,笑看万物锘锘锘。

上面的话之所以火了起来,是因为戳中了万千程序员的笑点,其背后的原理让人玩味不已。其原理主要涉及到中文编码的问题,具体内容还没想好怎么写,下面列出来一些文章供大家参考。

我的测试代码

>>> print(u"\ufffd\ufffd".encode('utf-8'))
锟斤拷

# VS常见汉字
>>> print("\x90\x90".decode('gbk'))
悙
>>> print("\xcc\xcc".decode('gbk'))
烫
>>> print("\xcd\xcd".decode('gbk'))
屯
>>> print("\xca\xfe".decode('gbk'))
漱

# 打印所有叠字节
>>> for i in range(256):print("%02X%02X" % (i, i))
...
0000
0101
0202

VS常见初始值

参考:VC调试基础知识

模数

看到上面的这些,会让人想到模数这个词,英文是“Magic Number”,很多文件格式都会在自己的头部写入模数,用于表示文件类型(如PNG、PE等),一些网络协议也会用到模数。以后有空了补个模数大全。^_^

总结

脑子有点发散,没收回来,其实今天(2019-2-22)就是看到了下面的代码,然后想到了“烫屯”,然后想查下还有什么奇怪的字没了。结果就出来了上面的总结,以后一定用得到的。

// VS会显示一堆“惇”字
memset(changedBytes, 0x90, sizeof(changedBytes));