Ruby:int32的4字节数组
发布时间:2020-12-17 03:07:01 所属栏目:百科 来源:网络整理
导读:从TCPSocket读取4个字节(实际上socket返回一个字符串,然后我调用.bytes来获取一个数组).现在他们需要转换为int32 big endian. 或者可能TCPSocket有一些方法立即读取int32? 解决方法 您可以使用 String#unpack.参数表示转换类型.下面使用“N”表示“32位无符
从TCPSocket读取4个字节(实际上socket返回一个字符串,然后我调用.bytes来获取一个数组).现在他们需要转换为int32 big endian.
或者可能TCPSocket有一些方法立即读取int32? 解决方法
您可以使用
String#unpack.参数表示转换类型.下面使用“N”表示“32位无符号,网络(大端)字节顺序”.请参阅所有选项的链接.
"x00x00x00x01".unpack("N") # => [1] "x00x00x00xFF".unpack("N") # => [255] 注意结果是一个数组,所以应用[0]或.first来获取Fixnum. Array#pack的原始答案,包含转换字节数组到二进制字符串: 你可以使用Array#pack # unsigned 32-bit integer (big endian) bytes.pack('L>*') # signed 32-bit integer (big endian) bytes.pack('l>*') 也许你会发现N指令很有用,它代表“网络字节顺序” # 32-bit unsigned,network (big-endian) byte order bytes.pack('N*') (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- camcorder effect support
- 苹果公开 Swift 3.1 发布以及 Swift 4 开发时间
- vue+vue-validator 表单验证功能的实现代码
- c – Gdiplus DrawString通过远程桌面绘制透明文本
- ios – Xcode 7无法为AlamoFire 3.x(CocoaPods)加载底层模块
- XML可扩展标记语言 -- 学习笔记一
- Swift3.0语言教程使用占位符格式创建和初始化字符串
- C语言 文件的打开与关闭详解及示例代码
- admob – 任何允许AJAX请求的移动广告平台?
- ruby-on-rails – Rails:Rake测试:功能无法访问DB(winXP上