【Python:二进制/十六进制字符串转换?】教程文章相关的互联网学习教程文章

Python:二进制/十六进制字符串转换?【代码】

我有一个包含二进制和字符串字符的字符串,我想先将其转换为二进制,然后再转换为十六进制. 字符串如下:<81>^Q<81>"^Q^@^[)^G ^Q^A^S^A^V^@<83>^Cd<80><99>}^@N^@^@^A^@^@^@^@^@^@^@j如何在Python中转换此字符串,以便十六进制格式的输出类似于下面的内容?24208040901811001B12050809081223431235113245422F0A23000000000000000000001F解决方法:您可以像这样使用ord和hex:>>> s = 'some string' >>> hex_chars = map(hex,map(ord,s...

如何使我的python脚本易于移植?或者如何使用所有模块依赖项编译成二进制文件?

有没有办法将python脚本编译成二进制文件?我有一个文件python脚本,它使用了很多模块.我想要的是在其他机器(freebsd)上复制它,但不在每个主机上安装所有需要的模块. 在这种情况下有哪些可能的解决方案解决方法:可以满足您要求的程序包括: > PyInstaller:http://www.pyinstaller.org/ [Windows,Linux,OS X]> cx_freeze:http://cx-freeze.sourceforge.net/ [Windows,Linux]> py2exe:http://www.py2exe.org/ [Windows]> py2app:h...

python – 二进制流中`open`和`io.BytesIO`之间的区别【代码】

我正在学习如何使用Python中的流,我注意到IO docs说了以下内容:The easiest way to create a binary stream is with open() with ‘b’ in the mode string: f = open("myfile.jpg", "rb") In-memory binary streams are also available as BytesIO objects: f = io.BytesIO(b"some initial binary data: \x00\x01")由open定义的f和由BytesIO定义的f之间的区别是什么.换句话说,是什么构成了“内存中的二进制流”,它与open的不同之...

python – 不使用内置bin函数将整数转换为二进制【代码】

该函数作为参数接收整数,并且应该返回表示以二进制表示的相同值的列表作为位列表,其中列表中的第一个元素是最重要(最左侧)位. 我的功能目前输出数字11的’1011′,我需要[1,0,1,1]. 例如,>>> convert_to_binary(11) [1,0,1,1]解决方法: def trans(x):if x == 0: return [0]bit = []while x:bit.append(x % 2)x >>= 1return bit[::-1]

python中的二进制搜索算法【代码】

我试图在python中实现二进制搜索,并编写如下.但是,只要needle_element大于数组中的最大元素,我就无法停止. 你能帮我吗?谢谢.def binary_search(array, needle_element):mid = (len(array)) / 2if not len(array):raise "Error"if needle_element == array[mid]:return midelif needle_element > array[mid]:return mid + binary_search(array[mid:],needle_element)elif needle_element < array[mid]:return binary_search(array[...

如何在python 3中将二进制数据写入stdout?【代码】

在python 2.x中,我可以这样做:import sys, array a = array.array('B', range(100)) a.tofile(sys.stdout) 然而,现在我得到一个TypeError:无法将字节写入文本流.我应该使用一些秘密编码吗?解决方法:更好的方法:import sys sys.stdout.buffer.write(b"some binary data")

python – 二进制numpy数组到整数列表?【代码】

我有一个二进制数组,我想将它转换为整数列表,其中每个int是数组的一行. 例如:from numpy import * a = array([[1, 1, 0, 0], [0, 1, 0, 0], [0, 1, 1, 1], [1, 1, 1, 1]])我想将a转换为[12,4,7,15].解决方法:我曾经问了类似的问题here.这是my answer,适合你的问题:def bool2int(x):y = 0for i,j in enumerate(x):y += j<<ireturn yIn [20]: a Out[20]: array([[1, 1, 0, 0],[0, 1, 0, 0],[0, 1, 1, 1],[1, 1, 1, 1]])In [21]: [...

python – 将bz2压缩二进制文件导入为numpy数组【代码】

我有一个包含数据数组的bz2压缩二进制(big endian)文件.使用外部工具解压缩然后将文件读入Numpy工作:import numpy as np dim = 3 rows = 1000 cols = 2000 mydata = np.fromfile('myfile.bin').reshape(dim,rows,cols)但是,由于还有很多其他类似的文件,我无法事先单独提取每个文件.因此,我发现Python中的bz2模块可能能够在Python中直接解压缩它.但是我收到一条错误消息:dfile = bz2.BZ2File('myfile.bz2').read() mydata = np.fr...

如何在Python中通过cgi部署zip文件(或其他二进制文件)?【代码】

我正在使用Python和CGI编写一个小型网站,用户可以上传zip文件并下载其他用户上传的文件.目前我可以正确上传zip,但是我在向用户正确发送文件方面遇到了一些麻烦.我的第一个方法是:file = open('../../data/code/' + filename + '.zip','rb')print("Content-type: application/octet-stream") print("Content-Disposition: filename=%s.zip" %(filename)) print(file.read())file.close()但很快我意识到我必须将文件作为二进制文件发...

python – 如何防止PySide信号和插槽尝试将二进制字符串数据转换为Unicode?【代码】

PySide信号和插槽似乎在静默地将我的二进制字符串转换为unicode.我怎么能避免呢?或者,如何在没有PySide变异的情况下通过信号槽接口传递二进制数据?from PySide import QtCoreclass Thingy(QtCore.QObject):data = QtCore.Signal(str)@QtCore.Slot(str) def printdata(x):print "type=%s, x=%s" % (type(x), x.__repr__())thingy = Thingy() thingy.data.connect(printdata)for data in ('Hey', '\x55\xaa'):printdata(data)thing...

Python:使用列表创建二进制搜索树【代码】

我的代码的目标是从txt文件中获取每个单独的单词并将其放入列表中,然后使用该列表创建二进制搜索树来计算每个单词的频率,并按字母顺序打印每个单词及其频率. can中的每个单词只能包含字母,数字, – 或’我无法用我的初学者编程知识做的部分是使用我拥有的列表制作二进制搜索树(我只能插入整个列表在一个节点中,而不是将每个单词放在一个节点中来制作树).我到目前为止的代码是这样的:def read_words(filename):openfile = open(fil...

将数字转换为二进制并使用python存储在pandas中的多个列中【代码】

我想使用Python将数字转换为二进制并存储在Pandas中的多个列中.这是一个例子.df = pd.DataFrame([['a', 1], ['b', 2], ['c', 0]], columns=["Col_A", "Col_B"])for i in range(0,len(df)):df.loc[i,'Col_C'],df.loc[i,'Col_D'] = list( (bin(df.loc[i,'Col_B']).zfill(2) ) )我正在尝试转换二进制文件并将其存储在dataframe中的多个列中.将数字转换为二进制后,输出必须包含2位数.它工作正常. 问题:如果我的数据集包含数千条记录,我...

尝试从Python(w / PyObjC)写入二进制plist格式,以便由Cocoa Touch读取和读取【代码】

我正在尝试将搜索结果的属性列表提供给我的iPhone应用程序.服务器是一个用Python编写的原型. 首先,我发现了Python的内置plistlib,非常棒.我想给你一个搜索类型的镜头,所以我需要它尽可能小,而xml太大了.二进制plist格式似乎是一个不错的选择.不幸的是,plistlib没有做二进制文件,所以一步到位PyObjC. (Segue:我对如何完成实时搜索的任何其他想法都非常开放.我已经尽可能地减少了数据,包括只显示足够的结果来填充iPhone键盘的窗口,这...

Python中二进制分数的模式【代码】

研究模式识别需要以有理数分数的二进制表示来识别重复模式. bin(2 ** 24 / n)剥离前导零,例如bin(2 ** 24/11) – > 0b101110100010111010001而不是0b000101110100010111010001.前导零的数量当然是可变的.这里显而易见的模式是0001011101 …… 我仍然是学习曲线上的Python.是否有适合Python的方法来解决这个问题?解决方法:如果您有比字符串格式化更高级的需求,您可能会发现bitstring模块很有用.>>> from bitstring import BitArray...

python – 获取两个(二进制)数字之间不同的位数【代码】

我有两个数字(二进制??或不二进制,不起任何作用),它们只有一位不同,例如(伪代码)a = 11111111 b = 11011111我想要一个简单的python函数,它返回不同的位位置(给定示例中的“5”,从右到左).我的解决方案是(python)math.log(abs(a-b))/math.log(2)但我想知道是否有更优雅的方法来做到这一点(不使用花车等). 谢谢 亚历克斯解决方法:您可以使用二进制独占:a = 0b11111111 b = 0b11011111diff = a^b # 0b100000 diff.bit_length()-1 #...