[2021铁人赛 Day12] General Skills 09

   


  • 引言
    昨天的题目学习到进位制以及「 ASCII code <-> 字元」转换,

    • 关於 Python 中的进位制前缀,可以简单列出下表:

      进位制 前缀
      二进制 0b (零+b)
      八进制 0o (零+小写英文字母o)
      十进制
      十六进制 0x (零+小写英文字母x)

      例:
      一个八进位数字 4562 表示成: 0o4562
      一个十六进位数字 ff75 表示成: 0xff75

      顺带一提这个包含字母的前缀+数字在 Python 中视为数字喔,
      如果你试着

      print(0x34)
      

      程序会印出 52 ,可见 Python 事实上会将其转成十进位数。

    • Python 中处理 ASCII code字元转换的方式刚好就两个函数:

      • chr() 昨天用到的,参数传入 ASCII code 後会将其转换为字元传回。
        e.g. print(chr(65)) 会印出 A
      • ord() 表示 ordinal (序数) ,会将字元转换成 ASCII code 。
        e.g. print(ord('b')) 会印出 98
  • General Skills / Warmed Up
    https://ithelp.ithome.com.tw/upload/images/20210927/20111429swq4p7mI8y.png
    这题马上就用到进位制了,题目要求16进位转10进位,
    所以写一个 python 档,用 int() 来转换:

    # base.py
    print(int('0x3d', base=16))
    

    int() 转换出来的必定是十进位整数

    这里写法很多种,
    因後面已指定 base 是16进位, 0x 就没有必要:

    print(int('3d', base=16))
    

    还有这种,
    base=0 表示自动判断,因为前面有 0x 就能得知是16进位:

    print(int('0x3d', base=0)) 
    

    int() 可填入数字字串,取决於用途,

    • 如果是用来小数整数,填入数字,如: int(3.14)
    • 如果是用来进制转换 (必转成10进位) ,有指定 base 的话 (包含 base=0) ,
      则需填字串,如: int('0b101', base=2)
      但如果不填入 base 则需填数字,如: int(0b101)

    执行:

    $ python base.py
    61
    

    将 61 用 flag 格式包住:
    picoCTF{61}


免费美国电话号码 Google Voice 0月租

免费美国电话号码 Google Voice 0月租

使用Google Voice服务可以免费拨打美国或加拿大境内的任何电话,而国际电话(非北美地区)的费用也比传统电话便宜,比如拨打中国大陆的价格为1美分/分钟,香港的价格为2美分/分钟,台湾市话:2美...

国内注册公司和国外注册公司区别:注册国外公司好还是用国内公司好?

国内注册公司和国外注册公司区别:注册国外公司好还是用国内公司好?

国内公司、香港公司、美国公司是目前绝大部分跨境卖家的身份选择。国内公司身份自然不必多说,90%+都是。香港和美国公司则少的多。但选择的人多并不表示国内公司就是最佳的经营跨境电商身份选择。 国内公司 首...

网站打开速度慢怎么办?为什么网站一定要打开快

在深入探讨提高网站速度之前,让我们探讨一下为什么它对您的小型企业如此重要。 更快的网站意味着: 更好的用户体验 您的网站性能会影响用户的体验 - 当您的网站加载速度更快时,用户更有可能与之互动并花费更...

如何提高网站访问速度:怎么让网站更快打开的方法

网站速度优化对于创造积极的用户体验至关重要。 积极的用户体验是快乐用户的营销代言词。 快乐的用户访问您的网站并购买东西。 不满意的用户离开是因为他们厌倦了等待您的网站加载。 营销人员称之为“跳出率”...

网站服务器怎么选?如何选择最好的网站服务器

为什么网站速度很重要 到目前为止,您应该不需要说服网站速度对您的在线业务至关重要。 这是因为网站性能会影响您的品牌声誉、SEO 排名和转化率。 以下是发生这种情况的主要原因: 品牌口碑👍 老实说,当...

返回顶部