当前位置: 首页 > 面试题库 >

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

云和同
2023-03-14
问题内容

在python 2.x中,我可以这样做:

import sys, array
a = array.array('B', range(100))
a.tofile(sys.stdout)

但是现在,我得到了TypeError: can't write bytes to text stream。我应该使用一些秘密编码吗?


问题答案:

更好的方法

import sys
sys.stdout.buffer.write(b"some binary data")


 类似资料:
  • 问题内容: 我有两个用Java编写的应用程序,它们通过网络使用XML消息相互通信。我在接收端使用了SAX解析器,以从消息中获取数据。要求之一是将二进制数据嵌入XML消息中,但是SAX不喜欢这样。有谁知道如何做到这一点? 问题答案: XML是如此多才多艺… XML就像暴力-如果它不能解决问题,则说明你使用的不够多。 编辑: 顺便说一句:Base64 + CDATA可能是最好的解决方案

  • 本文向大家介绍如何使用JDBC将二进制数据插入表中?,包括了如何使用JDBC将二进制数据插入表中?的使用技巧和注意事项,需要的朋友参考一下 SQL数据库在其中提供了一个名为Blob(二进制大对象)的数据类型,您可以存储诸如图像之类的大型二进制数据。 要将二进制(流)值存储到表中,JDBC在PreparedStatement接口中提供了一种称为setBinaryStream()的方法。 它接受一个整

  • 问题内容: 我有23位表示为字符串,并且需要将此字符串作为4个字节写入二进制文件。最后一个字节始终为0。以下代码有效(Python 3.3),但感觉不太好(我对Python和编程很陌生)。您有任何改善技巧吗?似乎for循环可能有用,但是如何在循环中进行切片而不出现IndexError?请注意,当我将位提取到一个字节中时,我会反转位顺序。 问题答案: 您可以将其视为int,然后按以下方式创建4个字节

  • 我想以这种形式将短int x=0x4740写入二进制文件:0100 0000 0100 0111,当我在记事本中打开它时,它是@G。它正在工作。当我尝试编写例如短int a=0xf0ff;(二进制:1111 0000 1111 1111)时,记事本显示给我的不是我的数字二进制(➕是1100 1011 1001 1001 1100 0100 1001 0001)。如何在这个文件中编写它并获得1111

  • 下面的代码尝试使用缓冲区将WAV文件的头写入流,然后将其写入可写流。 出于某种原因,文件的前8个字节是错误的: 第一行应该是: 这条线路有故障: 它需要:

  • 问题内容: 如何在Swift中将Int转换为UInt8?例。我想将数字22转换为0b00010110 问题答案: 您可以使用带有参数的初始化程序将十进制值转换为人类可读的二进制 表示形式 : 如果您愿意,也可以很容易地用任意数量的零填充它: 斯威夫特5