Skip to content

Latest commit

 

History

History
136 lines (103 loc) · 3.03 KB

309-89703-转义_escape_字符_character_反斜杠.sy.md

File metadata and controls

136 lines (103 loc) · 3.03 KB
show version enable_checker
step
1.0
true

转义字符

回忆上次内容

  • 上次研究的是进制转化
  • 10进制可以转化为其他形式
    • bin
    • oct
    • hex
  • 其他进制也可以转化为10进制
    • int
    • 可以设置base来决定转为多少进制
  • 回忆一下
    • 我们为什么会有八进制?
    • 因为需要用八进制输出转义字符
      • \ooo
        • 把(ooo)8进制对应的ascii字符输出
    • 就如同
      • \xhh
        • 把(hh)16进制对应的ascii字符输出
  • 比如输出\n\r
  • 那我想只输出\这个字符可以吗?
  • \ 叫什么字符来着?🤔

转义字符

  • \ 是 转义字符

    • 转义转义 转化含义
    • escape character
    • 可以将后面的字符转义
  • 原来字符是 \

    • 这个\是一个转义字符
    • \n是一个转义序列
      • 将n进行转义
    • 转为换行符

图片描述

  • 也可以直接转义输出
    • 8进制数
      • "\ooo"
      • "\012"
    • 16进制数
      • "\xhh"
      • "\x0a"
  • \ 反斜杠 backslash
    • 是转义字符
  • 如果 想要输出的字符
    • 就是反斜杠\本身
      • 那应该 怎么办?🤔
  • 去试试

尝试

图片描述

  • 反斜杠(\\)无法输出
  • 去搜一下!

搜索结果

图片描述

  • 具体方法是什么呢?

具体方法

  • 答案就是用两个反斜杠

图片描述

  • \\
    • 第一个反斜杠是
      • 转义字符\
    • 第二个反斜杠是
      • 被转义的字符
  • 也就是说转义序列\\
    • 对应着ascii码表中的\本身
  • 这样就可以输出\

输出一个反斜杠

  • 两个反斜杠
    • 就行了

图片描述

  • 在 输出的时候
    • 成了 一个反斜杠

转义字符的输出

图片描述

  • 如果 我要输出 两个\
    • 应该如何 呢?

多个\

图片描述

  • 2个变1个
  • 4个变2个

图片描述

  • 能不能不转义
    • 直接就原样输出呢?

总结

  • 最近玩了\n\r 之外的转义序列
    • \a是 ␇ (bell)
    • \t是 水平制表符
    • \v是 换行不回车
  • 通过 16 进制数值转义
    • \xhh
    • 把(hh)16 进制对应的 ascii 字符输出
  • 通过 8 进制数值转义
    • \ooo
    • 把(ooo)8 进制对应的 ascii 字符输出
  • 这次加了 转义输出 反斜杠本身
    • \\ 输出 \
  • 总是转义
    • 还是挺麻烦的
    • 能否直接输出原样输出呢?

图片描述

  • 我们下次再说!👋