Python生成十六进制数补零的方法:用format()取代hex()

这篇具有很好参考价值的文章主要介绍了Python生成十六进制数补零的方法:用format()取代hex()。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Python的hex函数可以将任意整数转换为十六进制数,而且以0x为头。

我在写一个代码需要处理ASCII字符,众所周知ASCII的范围是0~255(十六进制数为0x00~0xFF),我尝试去掉十六进制数最前面的0x,由于hex()返回的类型是字符串,因此加方括号[2:]去掉头两个字符,代码如:

i=78
h=hex(i)
print(h)      # 输出: 0x4e
print(h[2:])  # 输出: 4e

但在后续的代码中,发现部分十六进制数的长度出现紊乱,经过分析和调试,发现这个hex函数无法控制位数,对于1~15的数,生成的十六进制数只有一位数,而我需要的是两位的十六进制数,不足两位数的就要补零。然后学习一下Python关于数字补零的详细讲解,原来可以用format取代hex,正确的姿势是:

 '{:02x}'.format(int) 

解释一下:大括号后面是设定输出格式,0意味着补零,2是要求输出两位数,x代表十六进制数,小写x生成小写十六进制数,大写X生成大写,format后面的int是十进制整数。文章来源地址https://www.toymoban.com/news/detail-511658.html

j=14
print('{:02x}'.format(j))    # 输出小写: 0e
print('{:02X}'.format(j))    # 输出大写: 0E
print('0x{:02x}'.format(j))  # 加插0x输出小写: 0x0e
print('0x{:02X}'.format(j))  # 加插0x输出大写: 0x0E
print('0x{:08X}'.format(j))  # 加插0x输出八位: 0x0000000E

到了这里,关于Python生成十六进制数补零的方法:用format()取代hex()的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python 如何将十六进制值转换为字符串?

    Python 中提供了几种将十六进制值转换为字符串的方法,下面将介绍其中的三种方法。 bytes.fromhex() 方法可以将十六进制字符串转换为字节串,然后再将字节串转换为字符串。例如: 其中, bytes.fromhex() 方法将十六进制字符串转换为字节串, byte_str.decode(\\\"utf-8\\\") 方法将字节串转

    2023年04月23日
    浏览(51)
  • python中str、bytes、十六进制字符串的相互转换

    python中str、bytes、十六进制字符串的介绍 str是python的内置函数,str字符串在python中使用 \\\'\\\' 或者 \\\"\\\" 括起来的字符串,比如: bytes也是python的内置函数,bytes字符串通常以b开头,比如: 十六进制字符串是指字符串中每个字符表示一个十六进制数,两个字符组成一个字节,比如

    2024年02月21日
    浏览(54)
  • JS十六进制,CRC冗余,小程序发送蓝牙数据,十六进制GBK编码转换等

    小程序问题:https://kf.qq.com/faq/170705YVZFZZ170705eyI7Rr.html 调用: 注意:这里的true和false代表是否大端小端转换 调用: 调用: 调用: 调用: 调用: 此代码写到小程序utils目录下的utuils.js文件中 调用:页面最上边先引入,然后再使用 调用: 这里发送buffer1给小程序公用api就可 调

    2024年02月16日
    浏览(73)
  • JS十六进制转浮点、字符串转为ArrayBuffer、ArrayBuffer转16进制字符串、16进制转10进制、crc校验位、十六进制转中文字符串(小程序、浏览器)、十六进制字符串转ascall字串

    h5实现一键复制文本到剪切板 ArrayBuffer转16进制字符串: 字符串转为ArrayBuffer对象 十六进制转10进制 浮点型转十六进制: 将某段字符串使用某字符补齐 十六进制转带符号(-负号)整型 带符号(负号)整数转十六进制字符串(得到8个字符十六进制字符串) 带符号(负号)整数转

    2024年02月09日
    浏览(54)
  • 十六进制转换到十进制(java)

    一、前言  首先我们要知道十六进制的转换以及十以上的进制的转换与十以下的进制转换是不一样的,它们在一位上会用超过9的数字,这个我们在利用以前的方法就行不通了,我接下来就向大家分享一种方法。(注:在Java中10---15分别用A B C D E F表示,不分大小写) 二、正文

    2024年02月11日
    浏览(58)
  • MATLAB十六进制与十进制互相转换

    包含单个数字进行转换和数组进行转换(可用于串口数据解析) 1.十六进制转十进制

    2024年01月16日
    浏览(54)
  • C语言:十进制与十六进制的转化

    要将十进制数转换为十六进制数, 可以使用以下步骤: 1. 将十进制数除以 16,得到商和余数。 2. 用余数作为当前位的十六进制数位,余数可能是 0 到 15 之间的数字,分别对应 0 到 F。 3. 将商作为新的十进制数,并重复步骤 1 和 2,直到商为 0。 4. 将得到的十六进制数位按照

    2024年02月05日
    浏览(78)
  • Java中十六进制与十进制之间互相转换

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:这里可以添加本文要记录的大概内容: 提示:以下是本篇文章正文内容,下面案例可供参考 话不多说,直接上代码 如将十进制数字 108 转换为十六进制 代码示例如下: 运行结果: 这样将一个十

    2024年02月12日
    浏览(55)
  • 【计算机网络】TCP中payload的解析,在python中的体现?字节、字符?为啥字节用十六进制表示?

    问题来源 最近要根据一份国家标准协议进行解码,但是对于进制,字节,字符,编码,转码有比较多的问题。其中我想实现的主要需求如下: 有客户端与服务端,进行tcp通信,客户端要发送一个请求,tcp中payload请求大概是这样,有很多个十六进制表示的字节组成 根据协议的

    2024年02月11日
    浏览(61)
  • QML实现文件十六进制数据展示

    将一个二进制文件直接拖放到Qt Creator中可以直接查看到以十六进制显示的数据格式,如: 要实现一个这样的效果,还是要花不少时间的。 在网上找了挺多示例,其中一个开源代码效果不错(参考这里),但是是在QWidget中实现的,通过继承QAbstractScrollArea来实现数据滚动绘制

    2024年02月09日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包