python字节
❶ 如果电脑里32字节和64字节的python都有,那么默认用的是哪个
32位和64位吧?如果要编译为EXE文件,建议用32位的。32位的编译后可在32位和64位下运行,64位的编译后只能在64位下运行。
❷ 请教各位,如何得到一个PYTHON变量的字节大小
python获得一个变量的名字的方法:
正常人:
items={
'tom':[1,2,3],
'jack':[4,5,6],
'alice':[7,8,9]
}
for x in items:
print "id of %s is %d" %(x,id(x))
变态:
tom = [1,2,3]
jack = [4,5,6]
alice = [7,8,9]
items = tom, jack, alice
for item in items:
for itemx,itemy in locals().items():
if item == itemy and itemx != 'item':
print itemx
❸ python 判断字节是二进制还是字符
1.说实话,没看懂你的问题。
2.关于字符,建议你先去看看:
【整理】Python中字符编码的总结和对比:Python 2.x的str和unicode vs Python 3.x的bytes和str
3.看完后,再回来,说清楚你想要做什么。遇到什么问题。
最好举例说明。
(此处不给贴地址,请自己用google搜帖子标题,即可找到帖子地址)
❹ python发送字节
没有听明白你在说什么。在程序内部,是不存在“16”进制的。只有内存的存贮格式。比如字符串和整型,日期型等等。
所以你说的16进制应该就是字符串,你传递一次看看就知道了。
一般来讲,只有特定的文件读写方法,才会要求你必须是“字符”才能读写。 其实一般的文件读写只要求是一个串,计算机里,所有东西可以看成串。特别是C语言里。更是这样子。
所以你说的转换可能不是将16进制转成字节。 而将16进制的编码转成整型的UNICODE,再做一个ENCODE,变成字符串。 也许你只缺少了一个ENCODE。
16进制给人阅读的,在程序内部是不存在16进制的。
❺ Python3 字节怎么算
数字和汉字所占的长度不一样,所以用相同的格式不能对齐。
❻ 使用Python按字节分割字符串
按行读取之后按原文件编码类型解码,插入完后按UTF-8解码写入文件
以源文件为gbk为例,假设每5字符插入|
python2
withopen('target','w')asf:
forlineopen('source').readlines():
line=line.decode('gbk')
line='|'.join([line[i:min(i+5,len(line))]foriinrange(0,len(line),5)])
f.write(line.encode('utf-8'))
python3
withopen('target','w',encoding='utf-8')asf:
forlineopen('source',encoding='gbk').readlines():
line=line
line='|'.join([line[i:min(i+5,len(line))]foriinrange(0,len(line),5)])
f.write(line)
❼ Python如何检测一个符号占几个字节(用的UTF-8)
print(len('a'.encode('utf-8')))
print(len('一'.encode('utf-8')))
❽ python int占几个字节
《深入理解计算机系统》这本书上面提到了在32位机器和64机器中int类型都占用4个字节。《The C Programming language》这本书,里面有一句话是这样的:Each compiler is free to choose appropriate sizes for its own hardware, subject only to the restriction that shorts and ints are at least 16bits, longs are at least 32bits, and short is no longer than int, which is no longer than long.意思大致是编译器可以根据自身硬件来选择合适的大小,但是需要满足约束:short和int型至少为16位,long型至少为32位,并且short型长度不能超过int型,而int型不能超过long型。这即是说各个类型的变量长度是由编译器来决定的,而当前主流的编译器中一般是32位机器和64位机器中int型都是4个字节(例如,GCC)。
相关推荐:《Python教程》
下面列举在GCC编译器下32位机器和64位机器各个类型变量所占字节数:
需要说明一下的是指针类型存储的是所指向变量的地址,所以32位机器只需要32bit,而64位机器需要64bit。
❾ python字节转换
importstruct
struct.pack("i",200).encode('hex')
struct.pack("f",3.14).encode('hex')
'hello'.encode('hex')
struct.unpack('i','c8000000'.decode('hex'))[0]
round(struct.unpack('f','c3f54840'.decode('hex'))[0],5)
'68656c6c6f'.decode('hex')
'{%s}'%','.join([str(int(i,16))foriinre.findall(r'.{2}','68656c6c6f')])
''.join([hex(int(i))[2:]foriinre.findall(r'd+','{104,101,108,108,111}')])
Python 2.7.12 (default, Nov 22 2016, 17:23:24)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2
Type "right", "credits" or "license()" for more information.
>>> import struct
>>> struct.pack("f", 3.14).encode('hex')
'c3f54840'
>>> round(struct.unpack('f','c3f54840'.decode('hex'))[0],5)
3.14
>>> struct.pack("i", 200).encode('hex')
'c8000000'
>>> struct.unpack('i','c8000000'.decode('hex'))[0]
200
>>> '68656c6c6f'.decode('hex')
'hello'
>>> 'hello'.encode('hex')
'68656c6c6f'
>>> import re
>>> '{%s}' % ','.join([str(int(i,16)) for i in re.findall(r'.{2}','68656c6c6f')])
'{104,101,108,108,111}'
>>> ''.join([hex(int(i))[2:] for i in re.findall(r'd+','{104,101,108,108,111}')])
'68656c6c6f'
❿ python一个字符占几个字节
汉字字符在utf_b8编码下占三个字节,在gbk 编码下占两个字节。