在python unicode字符串的转换
题
我需要Unicode字符串在Python转换为其它类型,如无符号和有符号int 8位,无符号和符号int 16位,无符号和符号int 32位,无符号和有符号整数是64位,双,浮点,字符串,无符号和有符号的8位无符号和有符号的16位无符号和有符号的32位无符号和有符号的64位。
我需要从u人民的帮助。
解决方案
使用 int()
将字符串转换为整数。 Python没有不同固定宽度的整数,所以你只得到一个类型的东西了。
然后使用 struct
以整数打包成一个固定的宽度:
res = struct.pack("=B",i) ## uint8_t
res = struct.pack("=b",i) ## int8_t
res = struct.pack("=H",i) ## uint16_t
res = struct.pack("=h",i) ## int16_t
res = struct.pack("=I",i) ## uint32_t
res = struct.pack("=i",i) ## int32_t
res = struct.pack("=Q",i) ## uint64_t
res = struct.pack("=q",i) ## int64_t
res = struct.pack("=f",i) ## float
res = struct.pack("=d",i) ## double
struct
产生含有以二进制数的字节串。
编辑:
从意见听起来好像你只是想(的小数位数)的字符串转换为整数。只需使用int()
对于这一点,但你不会得到所有复杂的溢出/指定类型的溢语义。你无法重现,在蟒蛇,至少在没有写一大堆的代码。
我想,如果你想要更多的帮助,你必须更精确地了解你想要达到的目标。
不隶属于 StackOverflow