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

Python数据类型转换实现方法

基本类型转换

python3与python2通用函数:

1

2

3

4

int('123456'10)# 转换为指定进制的整数

hex(123456)# 整数转换为16进制串,转换后类型为字符串

bin(123)# 整数转换为2进制串

oct(123)# 整数转换为8进制串

python2专用函数:

1

2

'abcd'.encode('hex')# 字符串转换为16进制串,对应字符的ascii码

'61626364'.decode('hex')# ascii码转换为对应的字符串

特别注意:python3比python2多了个字节的数据类型,python3字节专用函数:

1

2

3

4

5

6

# 字符串转字节

bytes('str',encoding='utf8')

'str'.encode(encoding='utf8')

# 字节转字符串

str(b'byte',encoding='utf8')

b'str'.decode(encoding='utf8')

python中的C语言数据类型

使用第三方库 numpy:

1

2

3

4

importnumpy as np

a=np.int32(0xffffffff)# 会报错,超范围了

b=np.uint32(0xffffffff)

printa,b

使用 ctypes 库:

1

2

3

4

fromctypesimport*

a=c_uint32(0xfffffff).value

b=c_int32(0xffffffff).value# 显示为 -1

printa,b

推荐使用ctypes,numpy在超过整数范围时不能强制类型转换

python中的struct库

在程序中,输入的多个字符可以被当作一个 WORD 或者 DWORD 甚至 QWORD 的类型进行运算,运算结果放到内存再逐字节取出来!针对这种情况,struct库可以帮我们把几个字符打包成一个整数,或者将一个整数解包成几个字符,还能定义大小端模式!简言之,就是能把所使用的数据转换成在内存中存储的形式

常用到的一些格式字符

b char 1 B uchar 1 h short 2 H ushort 2 i int 4 I uint 4 l long 4 L ulong 4 q longlong 8 Q ulonglong 8 f float 4 d double 8 < 小端模式;> 大端模式;默认小端模式

使用方法:

1

2

3

4

5

6

fromstructimport*

a=0x41424344

b=0x6162

c=0x66

printpack('<IHb',a,b,c)

printunpack('<IHb','DCBAbaf')[0]

python中的binascii库

在 python2 中有encode('hex')函数可以快速将字符串转换为对应 ascii 码的16进制数,在 python3 中只有借助binascii才能实现类似功能!

1

2

3

importbinascii

binascii.hexlify(str)# 字符串转16进制串

binascii.unhexlify(hex_str)# 16进制串转字符串

python中的libnum神器

这个库的强大之处在于:可以直接将任意进制整数转换为字符串 常用的一些函数:

1

2

3

4

5

6

# Encoding=UTF-8

fromlibnumimport*

s2n(str)# 字符串转整数

n2s(n)# 整数转字符串,任意进制数也能直接转,它会先把任意进制数转成16进制数

s2b(str)# 字符串转2进制位串

b2s(bin)# 2进制位串转字符串

到此这篇关于Python数据类型转换实现方法的文章就介绍到这了

http://www.jsqmd.com/news/696305/

相关文章:

  • 2026边墙风机行业深度选型对比|英飞风机、格林瀚克、依必安派特三家核心全解析
  • Cesium-Wind:3步构建专业级3D风场可视化系统
  • 机器学习模型评估的统计学方法与置信区间计算
  • AUTOSAR vs OSEK:从DBC文件里的网络管理属性,看懂两种NM协议的区别与配置
  • QtScrcpy:三分钟实现安卓设备在电脑上的零延迟投屏
  • 基于Reflexion框架的AI智能体反思机制:从错误中学习的自主调试实践
  • 为什么你的AI数据分析助手总被吐槽?#CHI2026论文解读
  • 2026Q2自贡中考低分择校:正规靠谱中职院校名录 - 优质品牌商家
  • 还在为答辩PPT熬夜?百考通AI三步搞定,让你专注内容与表达
  • 2026工业级实战:YOLO模型从200MB无损压缩到20MB,边缘部署帧率暴涨10倍全方案
  • OpenAI注册登录总报错?别慌,这份保姆级排错指南(含IP、Cloudflare、节点选择)
  • 异构计算通用SDK:跨平台高性能计算的统一编程接口
  • 2026年比较好的塑粉/耐高温塑粉/聚酯塑粉高口碑品牌推荐 - 品牌宣传支持者
  • real-anime-z惊艳生成:半透明材质(玻璃/纱质/水膜)光学特性还原
  • 云原生环境中的边缘计算:从K3s到边缘节点的全栈部署
  • Flutter跑马灯进阶玩法:除了marquee插件,试试用AnimationController和Transform手动打造丝滑滚动效果
  • FS8025BH支持PD诱骗取电快充协议芯支持 PD3.1: 5V、 9V、 12V、 15V、 20V、 28V、36V、48V
  • 智能体系统安全架构设计的五大核心范式
  • 终极Windows驱动清理指南:Driver Store Explorer完全教程
  • 2026年靠谱的四川个人住人活动板房/临时居住活动板房优质供应商推荐 - 品牌宣传支持者
  • 分布式量子计算COMPAS架构解析与优化实践
  • Qwen3-4B-Instruct实战教程:WebUI接口对接Postman+API调用示例代码
  • 从零搭建:基于ESP-01S与阿里云IoT平台,打造微信小程序远程温湿度监测与灯光控制系统
  • 还在为游戏控制设备烦恼吗?vJoy虚拟手柄让一切变得简单
  • Kali Linux下用Nmap爆破MySQL弱口令,结果全是‘No valid accounts found‘?手把手教你排查PHPStudy远程连接配置
  • 为什么92%的车载软件团队弃用Eclipse改用VSCode?——基于ISO 26262 ASIL-B项目实测的4项性能跃升数据报告
  • 告别扫描PDF的‘灰头土脸’:用ComicEnhancePro和Acrobat DC打造可搜索的清爽电子书
  • CSDN技术博文灵感生成器:用Phi-4-mini-reasoning快速构思AI与编程教程大纲
  • 空间计算AR云构建:软件测试从业者的机遇与挑战
  • 别再只会用数组了!用C++ unordered_map解决LeetCode高频题(两数之和、字母异位词实战)