[考据] 卡牌背后的梗 8.6更新唐怀瑟之门、华尔街大亨
精华修改于2018/08/062206 浏览
索引
【打翻墨汁】1L
【俄罗斯轮盘】2L
【孤注一掷】3L
【战术撤退】4L
【宕机】7L 14L
【喷射背包】8L
【激素炸弹】9L
【飓风】10L
【左舷弹幕打击】19L,20L
【伊芙的教诲】21L
【魔狼军团】22L
【收买】24L
【降维打击】25L
【传教士】27L
【审判官】28L
【机械斥候】29L
【工程师】30L
【侧翼步兵】31L
【史密斯特工】32L
【猩球崛起】33L
【猴子打字员】34L
【入侵】35L
【齐桓公赛马】36L
【麻雀船长】37L
【飞翔的荷兰人】38L
【笑脸男】40L,41L
【唐怀瑟之门】45L
【华尔街大亨】46L
感谢@青青问问额额协助整理
感谢@紫屁股能提供卡图

【打翻墨汁】神卡镇楼
(大陆)程序员梗。
“烫烫烫烫”几乎是每一个初学编程的人都会遇到的乱码,其最常见的地方是Visual Studio里。
在Visual Studio中的Debug模式(调试版本)下,如果在堆中声明一个变量,但是没有初始化,微软会自动给未初始化的内存填充为0xCC。如果一个变量当中有多个字节 ,则会被填充为0xCCCCCC……。
这样做的原因:0xCC是INT3中断指令,所以如果在Debug模式下试图去执行这块未初始化的内存的话就会中断程序,从而防止越界情况的发生,可以让程序员在Debug模式下能够发现一些在Release模式(发布版本)时会碰到的错误。
在实际操作的过程中,如果一个字符串没有被程序员初始化,又或是没有结束符'\0',输出时就会打印出未初始化的堆空间的内容,也就是刚刚提到的0xCCCCCC……。
此时默认的字符集是MBCS,而在MBCS中不存在0xCC,于是就会把两个相邻的0xCC一并读取为0xCCCC,而这所对应的恰好是中文中的“烫”,所以显示出来就都是大名鼎鼎的“烫烫烫烫”乱码,类似的,如果这个变量不是位于堆空间而是位于栈空间,那么在打印的过程中就会显示为“屯屯屯屯”。
屯和烫都是GBK编码的结果,所以只有简体中文Windows,而且程序链接了ANSI版本的API才会显示这个。现代的程序可以选择使用UTF-16的Unicode版本的库,这种情况下会变成韩文쳌쳌쳌쳌。如果是台湾(BIG-5)则会显示“昍昍昍”,日本(Shift-JIS)应该会显示“フフフフフフ”