当前位置: 首页 > wzjs >正文

继电器做网站东莞大型企业网站建设

继电器做网站,东莞大型企业网站建设,免费注册邮箱,中国工商网企业查询官网前置知识 python中各个进制的开头 二进制 : 0b 八进制 : 0o 十六进制 : 0x 进制转换函数 : bin() 转为2进制 oct() 转换为八进制的函数 hex() 转换为16进制的函数 ascii码和字符之间的转换 : chr(97) 码转为字符 …

前置知识

python中各个进制的开头 

二进制 : 0b
八进制 : 0o
十六进制 : 0x

进制转换函数 :  bin()  转为2进制   oct() 转换为八进制的函数   hex() 转换为16进制的函数

ascii码和字符之间的转换  :  chr('97')  码转为字符            字符转为码  ord('a')

进制转换脚本 :

def jinzhi(num_str, from_base, to_base): #传入的参数 需要数字 当前的进制  想要转换的进制try:   #类型确定的容错# 确保输入是字符串类型shuru = int(str(num_str), from_base)  # 先转为字符串if to_base == 2:return bin(shuru)[2:]   # 切片去除前缀 2位elif to_base == 8:return oct(shuru)[2:]elif to_base == 16:return hex(shuru)[2:].upper()elif to_base == 10:return str(shuru)  # 修正切片错误return Noneexcept (ValueError, TypeError):return None# 应该传入字符串类型的数字
print(jinzhi("123", 10, 2))  # 正确输出:1111011
print(jinzhi(123, 10, 2))    # 现在也能正常工作(因为内部做了转换)

进制转ascii字符串

每八个二进制代表一个ascii字符串   三个八进制代表一个

def bin_tostr(bin_str):ascii_str=''for i in range(0,len(bin_str),8): //进行遍历 步长是8a=bin_str[i,i+8]   //进行 切片每八位一个asciiascii_str+=chr(int(a,2))  // 二进制转为 asciireturn ascii_strdef oct_tostr(oct_str):ascii_str=''for i in range(0.,len(oct_str),3):a=oct_str[i,i+3]ascii_str+=chr(int(a,8))return ascii_strdef hex_tostr(hex_str:str):if hex_str.startswith('0x'):hex_str=hex_str[2:]return bytes.fromhex(hex_str).decode('ascii')  //16 进制可以直接转为 ascii 码 需要先进行字节流的转换 然后进行ascii解码
if __name__ == "__main__":a='0x68656c6c6f'print(hex_tostr(a))

但是上面这样写 如果我们给与的二进制的数大于8 多余的该怎么办 ??  小于8该怎么办???

这个就是脚本撰写常考虑的 多减 少补问题

下面是改进的

def bin_tostr(bin_str:str,pad=True): #pad 就是是否开启下面的补 0 模式ascii_str=''lens=len(bin_str)//8   #表示向下取整这样就会筛下 大于8位的 这样后边我们还有进行处理#先处理 8的整数for i in range(0,lens):a=bin_str[i*8:(i+1)*8]  # +1的目的是为了循坏的时候挨个向后推ascii_str+=chr(int(a,2))# 处理溢出或缺少的值 :remain=len(bin_str) % 8if remain>0 : #存在余数 if pad:   # 当我们的输入值大于 8 或小于的时候  补 0  pad是true的时候进行补充 0 padded=bin_str[-remain:].ljust(8,'0')  #ljust() 函数就是用来填充的 他对于字符串会自动进行左排序 然后根据第一个参数 进行右边填充ascii_str+=chr(int(padded,2))   #对填充的模式加到ascii 总和之后else:# 不补0 直接转换ascii_str+=chr(int(bin_str[-remain:],2))return ascii_str   #return的 模式写的必须是这个地方  否则如果 str是正常的8的倍数就无法返回

改的地方 :pad 是是否开启补0模式

remain 有余数表示是对于  lens 是需要补充的 因为他是向下取整  不论是大于8的位数还是小于 对于 8的向下取整而言 都是需要进行补充的

练习是试着把 补 3位的 8进制也进行一下 补充


文章转载自:

http://l8G8YjXt.rbtny.cn
http://BvcsaVLk.rbtny.cn
http://mQCbLhus.rbtny.cn
http://loMRqgfP.rbtny.cn
http://MSHKSZge.rbtny.cn
http://6fjPajhG.rbtny.cn
http://DMYEPekM.rbtny.cn
http://SY1pnkpm.rbtny.cn
http://MudzMJWb.rbtny.cn
http://kcWJE2ud.rbtny.cn
http://wMunfX9J.rbtny.cn
http://So5Tew9T.rbtny.cn
http://515GzFPM.rbtny.cn
http://cH5aJIv9.rbtny.cn
http://D4VkBNVN.rbtny.cn
http://8s9tN6qx.rbtny.cn
http://3NlOIbhP.rbtny.cn
http://RFhVijqH.rbtny.cn
http://k5Ybu5Zg.rbtny.cn
http://nCGXLwWT.rbtny.cn
http://7Y0XF1GV.rbtny.cn
http://D2cQ1Xcx.rbtny.cn
http://yKhfYHgv.rbtny.cn
http://PBgEAp6k.rbtny.cn
http://abAbnsk5.rbtny.cn
http://WhA2SfsI.rbtny.cn
http://TztLgQsh.rbtny.cn
http://2wpazii5.rbtny.cn
http://3Ox1h9eG.rbtny.cn
http://D6cgyXQv.rbtny.cn
http://www.dtcms.com/wzjs/728830.html

相关文章:

  • 网站设计软件开发网站建设课程报告
  • 做网站的无锡英文版企业网站布局设计
  • 国外哪些网站可以注册域名尚层装饰官网
  • 郑州自助建站模板如何建设高等数学课程网站
  • 宿州网站开发公司宁波seo排名方案优化
  • 宜春市网站建设大连市城市建设投资集团网站
  • 什么是静态网站小程序开发平台找哪家好
  • 长春网站设计价格阿里巴巴网官网首页
  • 网站建设与维护成绩查询itme收录优美图片官网
  • 万云网络网站seo是什么意思为什么要做seo
  • 百度和阿里哪个厉害做网站宝安住房和建设局网站电话
  • 上海市城乡住房建设厅网站网站建设分哪些类别
  • 山东舜玉建设工程有限公司网站网站设计方案模板
  • 网站域名到期会怎么样做猎头顾问 经常看哪些网站
  • 手机网站怎么优化广州专业网站设计定制
  • 郑州网站优化顾问汽车网站建设开题报告
  • 建站域名哪个网站做任务可以赚钱
  • 国外有哪做交互设计网站网站建设技术服务清单
  • 杭州网站设计制作江苏个人备案网站内容
  • 建设高端网站大连网站制作培训
  • 便宜的网站建设公司网站的目标定位有哪些
  • 网站建设 seo哈工大 网站开发
  • 网站后台管理的超链接怎么做合肥百度团购网站建设
  • 服务器方面如何规划建设网站做文案的网站
  • 大讲堂123专注网站模板制作网站首页建设中页面
  • 畜牧业网站模板网络下载的网站模板能直接上传到虚拟主机
  • 怎么做好推广和营销网站内链怎么优化
  • mip织梦手机网站模板做互助盘网站多少钱
  • 娄底做网站如何购买大量客户电话号码
  • 做网站 视频加载太慢蜘蛛搜索