各种语言的二进制数据操作

C/C++

这个似乎不用说了

C#

使用byte[]来标识二进制数据,并通过System.BitConverter来支持基本类型与二进制数据的转化。字节序与本机的体系结构相关,不能设置(X86是Little-endian)。支持与C++类似的bitwise操作符。

AS3

使用flash.utils.ByteArray表示二进制数据。ByteArray本身可以设置字节序,并且支持各种基本数据类型与二进制数据的转化。支持与C++类似的bitwise操作符。

Python

语言本身只支持类似C++的bitwise操作符,不支持二进制数据。二进制数据只能通过语言本身的string类型来表示。通过struct模块可以
对基本类型数据进行整编解编工作。struct可以指定整编解编的字节序。
# int32 to binary(little-endian)
struct.pack('<i', v)
# int32 to binary(big-endian)
struct.pack('>i', v)
# binary to int32
struct.unpack('<i', v[:4])

Erlang

语言本身对二进制有非常好的支持,二进制在语言层有专门的数据类型表示,并且通过二进制专有的模式匹配,可以非常方便的进行操作。
% 从二进制B中读取一个int32到V,将剩下的二进制付给R
<<V:32/little-signed-integer, R/binary>> = B

Lua

语言本身不支持二进制数据,并且也没有标准的扩展库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值