二进制数据解析 + byteArray类型
来源:互联网 发布:用ps做淘宝店招 编辑:程序博客网 时间:2024/05/21 06:34
二进制数据解析 + byteArray类型
一个字节有8位 0000 0000,并以二进制存在,故一个位置可以存储0,1数据。所以当位置全部填充为1的时候,为最大数字255.
uint无符号型的整数型,int为有符号型的整数型。这两个都以4个字节形式存在于内存,但int第一位为符号位,0表示
正数,1代表负数。所以uint的取值范围为0-4294967295 int的取值范围为-2147483648 到2147483648。
Number 4个字节 Double 8个字节 一个英文单词1个字节 一个汉字2个字节
[马良:单词就26个字母加上杂七杂八的符号之类的,1个字节有256种可能,那么1个字节就足以表示了
汉字仅日常使用的就有3500,1个字节远远不够,那么就需要更多的空间来表示可能性,
2个字节表示65536,就可以表示]
字节的运算
>> 将类型二进制向右移动 << 将类型二进制向左移动
这里区分符号型的移动,和无符号型的移动
.符号型向右移动 符号位不变,空余位置以0补充,然后负数的取值由补码 + 1取得,首位不变。
16进制为int 类型,有4个字节,如0xffffff,写成2进制为0000 0000 1111 1111 1111 1111 1111 1111;
0xffffffff,写成2进制为1111 1111 1111 1111 1111 1111 1111 1111;
第二种的情况下,因为该类型为int类型,所以第一位为符号位,1表示该数为负数,而负数的取值由其补码取得,归置为
1000 0000 0000 0000 0000 0000 0000 0000 然后在此基础上再加上1,得到该数的10进制取值为 -1.
byteArray
一个用于存储字节的数组,可以在每个节点存储不同字节长度,即不同类型转换而成的字节。利用write 和 read 相关的函数可以进行写入和读写。
写入Write通过下列方法可以写入不同的类型
[写入布尔值]writeBoolean(:Boolean) [写入带符号的32位整数]writeInt(:int)
[写入一个单精度(32位)浮点数] writeFloat(:Number) [写入一个单精度(64位)浮点数]wirteDouble(:Number)
[写入一个16位整数]writeShort(:int) [写入无符号型的32位整数] writeUnsignedInt(:uint)
[将UTF-8字符串写入字节流]writeUTF(:String) writeUTFBytes(:String) writeObject(:*)
writeBytes(bytes:ByteArray,offset:uint = 0 ; length : uint = 0)
从bytes的offset开始,读取length个字节放到byteArray里,byteArray从byteArray.position开始放. (bytes的position不变, byteArray的position增加)
然后每次存储数据的时候,会相应的推动position的位移运动 bytesAvailabe 表示的是从当前position到数组末尾读取的数据的字节数
然后当byteArray进行read 或者 write 操作的时候,也会相应的推动当前的position的位移变化。即当前字节数的变化
0 0
- 二进制数据解析 + byteArray类型
- js 负数转二进制 byteArray
- ByteArray
- JSON数据解析类型
- JDBC之访问二进制类型的数据
- Android解析数据[{},{}]类型数据解析
- 010editor模板例子解析二进制数据
- Flex 与 Java 上传ByteArray图片数据
- Python使用struct处理二进制 解析二进制数据 解析socket数据
- Python使用struct处理二进制 解析二进制数据 解析socket数据
- final类型数据的解析
- 二进制类型
- 怎么把客户端对象转成ByteArray类型进库
- 巧用SQL Server日期类型数据二进制输出计算时间差
- 在Mysql中用 LONGBLOB 类型存储二进制数据
- 第十二章 用jdbc访问二进制类型的数据
- 在Mysql中用 LONGBLOB 类型存储二进制数据
- Java JDBC读取二进制类型数据(BLOB)
- [数位dp] bzoj 3209 花神的数论题
- WWDC 2013 Session笔记 - UIKit Dynamics入门
- Android Fragments详解三:实现fragment的界面
- 表达式求值nyoj35
- [面试珠玑]C++空类中的默认函数
- 二进制数据解析 + byteArray类型
- Java代码中的常见问题!
- 几种典型的 iOS 应用界面的交互框架各自的优缺点是什么?
- iframe实现高度自适应,兼容FF、Opera、Safari
- RGB表色系统
- 硬件创新无新意 苹果改以服务应战
- memcache启动停止
- 杭电acm2018母牛的故事
- Java 数组的拷贝