设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索

Window_Message 的神秘代号

查看数: 2569 | 评论数: 1 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-11-13 11:47

正文摘要:

本帖最后由 灯笼菜刀王 于 2018-11-13 12:08 编辑 呃, 感觉标题加上震惊, 我就可以直接去UC部报道了, 没辙, 实在不知道该用什么标题, 各位看官将就将就..... 问题来自默认的 Window_Message 脚本 默认的\C ...

回复

百里_飞柳 发表于 2018-11-13 15:03:31
本帖最后由 百里_飞柳 于 2018-11-13 15:05 编辑

其实有没有想过 \007 还有效,可能就是因为这种 \+三个数字的 表示法是 八进制 数字的表示?

我用新版本的Ruby试了下
  1. p c = "\005[12]"   # => "\u0005[12]"
  2. p c.slice(/./m)    # => "\u0005"

  3. p c = "\008[12]"   # => "\u00008[12]"
  4. p c.slice(/./m)    # => "\u0000"
复制代码


然后继续试了下替换掉前面的00
  1. p c = "\105[12]"  # => "E[12]" # 01000101
  2. p c = "\121[12]"  # => "Q[12]" # 01010001
复制代码

恰好是八进制下这两个字母的ascii码

所以它本质上就是八进制的一个数字,当被slice时会作为整体一同处理,但如果你冒出个\008,那么8就作为了下一个字符,而00被扩展识别成了\u0000的八进制数字

点评

原来如此, 没想到八进制, 感谢解答  发表于 2018-11-13 15:31

评分

参与人数 3星屑 +60 +1 收起 理由
RyanBern + 6 0b110
guoxiaomi + 54 \066
灯笼菜刀王 + 1 认可答案

查看全部评分

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-4 01:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表