Python数据类型转换实现方法 目录基本类型转换python中的C语言数据类型python中的struct库python中的binascii库python中的libnum神器 基本类型转换 python3与python2通用函数: int(”,10) # 转换为指定进制的整数 hex() # 整数转换为16进制串,转换后类型为字符串 bin(123) # 整数转换为2进制串 oct(123) # 整数转换为8进制串 python2专用函数: ’abcd’.encode(‘hex’) # 字符串转换为16进制串,对应字符的ascii码 ”.decode(‘hex’) # ascii码转换为对应的字符串 ,python3字节专用函数: # 字符串转字节 bytes(‘str’,encoding=’utf8′) ’str’.encode(encoding=’utf8′) # 字节转字符串 str(b’byte’,encoding=’utf8′) b’str’.decode(encoding=’utf8′) python中的C语言数据类型 使用第三方库 numpy: import numpy as np a = np.int32(0xffffffff) # 会报错,超范围了 b = np.uint32(0xffffffff) print a,b 使用 ctypes 库: from ctypes import * a = c_uint32(0xfffffff).value b = c_int32(0xffffffff).value # 显示为 -1 print a,b 推荐使用ctypes,numpy在超过整数范围时不能强制类型转换 python中的struct库 在程序中,输入的多个字符可以被当作一个 WORD 或者 DWORD 甚至 QWORD 的类型进行运算,运算结果放到内存再逐字节取出来!针对这种情况,库可以帮我们把几个字符打包成一个整数,或者将一个整数解包成几个字符,还能定义大小端模式!简言之,就是能把所使用的数据转换成在内存中存储的形式 常用到的一些格式字符 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 < 小端模式;> 大端模式;默认小端模式 使用方法: from struct import * a = 0x b = 0x6162 c = 0x66 print pack(‘<IHb’,a,b,c) print unpack(‘<IHb’,’DCBAbaf’)[0] python中的binascii库 在 python2 中有函数可以快速将字符串转换为对应 ascii 码的16进制数,在 python3 中只有借助才能实现类似功能! import binascii binascii.hexlify(str) # 字符串转16进制串 binascii.unhexlify(hex_str) # 16进制串转字符串 python中的libnum神器 这个库的强大之处在于:可以直接将任意进制整数转换为字符串 常用的一些函数: # Encoding=UTF-8 from libnum import * s2n(str) # 字符串转整数 n2s(n) # 整数转字符串,任意进制数也能直接转,它会先把任意进制数转成16进制数 s2b(str) # 字符串转2进制位串 b2s(bin) # 2进制位串转字符串 到此这篇关于Python数据类型转换实现方法的文章就介绍到这了,更多相关Python数据类型转换内容请搜索全栈程序员社区以前的文章或继续浏览下面的相关文章希望大家以后多多支持全栈程序员社区! 您可能感兴趣的文章:详解Python中数据类型的转换Python变量和数据类型和数据类型的转换python输入、数据类型转换及运算符方式详解Python数据类型、进制转换、字符串格式化的问题Python 转换数据类型函数和转换数据类型的作用Python数据类型转换汇总Python数据类型转换详解python 数据类型强制转换的总结Python如何实现强制数据类型转换Python常用数据类型之间的转换总结Python数据类型相互转换
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/49088.html