`
san_yun
  • 浏览: 2654513 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

python struct

 
阅读更多

在使用python向java发送数据的时候一般是需要记录数据长度的,数据长度应该是int类型:

s = socket.socket()
s.connect((host, port))
data = 'hello world'
s.sendall('%16s' % len(data)) #send data length
s.sendall(data) #send data
s.close()

但python 如何发送int类型?答案是使用struct。

 

Java expects the binary representation of your integer. You can use the struct module to generate binary representations.

In your case, this would be:

import struct
s.sendall(struct.pack('>i', len(data)))
 
第一个参数'>i'分别表示使用big-endian和int类型。

Also make sure you use the correct byte order . Java could be expecting network byte order.

 

详见:http://stackoverflow.com/questions/10228927/how-to-send-an-integer-over-a-socket-to-a-java-application-using-python

http://www.cnblogs.com/zhangjing0502/archive/2012/05/15/2501010.html

分享到:
评论

相关推荐

    app_struct_pythonstruct_freeood_

    在本项目"app_struct_pythonstruct_freeood_"中,主要关注的是如何使用`struct`库来处理IP地址的计算,特别是将一个整数值转化为IP地址。下面将详细解释`struct`库的基本用法以及在IP地址处理中的应用。 `struct`库...

    python.struct_helper_0_01

    Python的`struct`模块是处理二进制数据的强大工具,它允许我们将低级的字节序列转换为Python对象,反之亦然。这个`struct_helper_0_01`可能是一个帮助程序,旨在简化与C语言结构体之间的数据交互。在Python中,与...

    Python库 | struct-model-python-0.1.0.tar.gz

    《Python库struct-model-python-0.1.0详解》 在Python编程中,库是开发者的重要工具,它们提供了丰富的功能,使我们能够高效地完成各种任务。本文将深入探讨一个名为`struct-model-python-0.1.0`的库,它被封装在名...

    Python库 | jsonstruct-0.2a1.linux-x86_64.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:jsonstruct-0.2a1.linux-x86_64.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | ypstruct-0.0.2.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:ypstruct-0.0.2.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    树莓派I2C通信,使用python的UPD网络控制树莓派i2c发送指令和读取指令

    树莓派I2C通信,使用python的UPD网络远程控制树莓派i2c发送指令和读取数据指令,里面包含了3个i2c子设备

    Python struct模块解析

    python提供了一个struct模块来提供转换。下面就介绍这个模块中的几个方法。  struct.pack(): struct.pack用于将Python的值根据格式符,转换为字符串(因为Python中没有字节(Byte)类型,可以把这里的字符串理解为...

    pack-struct.md

    # 改变结构体成员的字节对齐 ## 例子 #include typedef struct { char a; int b; } ST_A;

    Python使用struct处理二进制的实例详解

    Python使用struct处理二进制的实例详解 有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用python的struct模块来完成.可以用 struct来处理c语言中的结构体.  struct模块中最...

    Python struct.unpack

    使用struck.unpack获取子字符串 复制代码 代码如下:import struct print struct.unpack(format, ‘Test astring’) #(‘Test’, ‘ing’) 来个简单的例子吧,有一个字符串’He is not very happy’,处理一下,把...

    Python标准库笔记struct模块的使用

    这就是struct模块的作用,它提供了一种机制来打包(Packing)和解包(Unpacking)Python中的基本数据类型和二进制数据之间的转换。 在Python中,struct模块提供了一些简单的函数来完成这种转换。利用模块中的格式符...

    简单介绍Python中的struct模块

    而在C语言中,我们可以很方便地用struct、union来处理字节,以及字节和int,float的转换。 在Python中,比方说要把一个32位无符号整数变成字节,也就是4个长度的str,你得配合位运算符这么写: >>> n = 10240099 >>...

    struct.nim:Nim的类似Python的“ struct”

    在Nim编程语言中,`struct.nim`模块提供了一种类似于Python的结构化数据处理方式,使得开发者能够方便地处理二进制数据流。这个模块对于那些需要处理底层数据结构,例如网络协议解析、文件格式读写或者系统编程的...

    使用python的struct库实现IP地址计算,根据一个int值.zip

    Python的`struct`模块提供了将这种整数与IP地址之间转换的功能。本教程将深入探讨如何使用`struct`库进行IP地址的计算。 首先,理解`struct`库的基本用法。`struct`库允许我们处理二进制数据,它提供了一种方式来...

    Python内建模块struct实例详解

    Python的内建模块`struct`提供了在Python与C或其他低级语言之间进行数据类型转换的能力。这个模块的主要目的是处理字节序列,使Python程序能够理解其他语言中的原始数据格式。在Python中,由于其高级抽象的数据类型...

    在Python的struct模块中进行数据格式转换的方法

    Python是一门非常简洁的语言,对于数据类型的表示,不像其他语言预定义了许多类型(如:在C#中,光整型就定义了8种),它只定义了六种基本类型:字符串... Python的标准模块struct就用来解决这个问题。 struct模块的内

    python的struct模块.docx

    ### Python的Struct模块详解 #### 一、引言 Python作为一种高级编程语言,在处理数据时提供了高度抽象的数据结构。然而,在与其他系统或平台交互时,尤其是涉及到网络通信、文件读写等场景,需要将这些高级数据...

    Python中的`struct`模块如何用于数据打包和解包

    在Python中,struct模块是用于处理二进制数据的强大工具,它允许你将复杂的数据结构打包成二进制字符串,并在需要时将这些二进制字符串解包回原始数据。这对于与C语言程序交互或进行网络通信尤其有用。以下是如何在...

Global site tag (gtag.js) - Google Analytics