1. 2个字节数组转换为整数

 def bytes2uint8(_bytes: Array[Byte], _offset: Int): Int = {
val b0 = _bytes(_offset) & 0xff
return b0
} def bytes2sint8(_bytes: Array[Byte], _offset: Int): Int = {
val b0 = _bytes(_offset)
return b0
}

   2. 4个字节数组转换为整数

 def bytes2uint16(_bytes: Array[Byte], _offset: Int): Int = {
var b0 = _bytes(_offset) & 0xff
var b1 = _bytes(_offset + 1) & 0xff return ((b1 << 8) | b0).toShort & 0x0FFFF
} //需要添加import java.nio.ByteBuffer
def bytes2sint16(_bytes: Array[Byte], _offset: Int): Int = {
var _array: Array[Byte] = new Array[Byte](2)
_array(0) = _bytes(_offset + 1)
_array(1) = _bytes(_offset)
return ByteBuffer.wrap(_array).getShort()
}

   3. 8个字节数组转换为整数   

 def bytes2uint32(_bytes: Array[Byte], _offset: Int): Long = {
var b0 = _bytes(_offset + 0) & 0xff
var b1 = _bytes(_offset + 1) & 0xff
var b2 = _bytes(_offset + 2) & 0xff
var b3 = _bytes(_offset + 3) & 0xff
return ((b3 << 24) | (b2 << 16) | (b1 << 8) | b0).toLong & 0xFFFFFFFFL
} def bytes2sint32(_bytes: Array[Byte], _offset: Int): Int = {
var b0 = _bytes(_offset) & 0xff
var b1 = _bytes(_offset + 1) & 0xff
var b2 = _bytes(_offset + 2) & 0xff
var b3 = _bytes(_offset + 3) & 0xff
return ((b3 << 24) | (b2 << 16) | (b1 << 8) | b0)
}

    4. 2个字节数组转换为布尔型(Bool)

    

 def bytes2bool(_bytes: Array[Byte], _offset: Int): Boolean = {
var b0 = _bytes(_offset) & 0xff
var b1 = _bytes(_offset + 1) & 0xff return if (((b1 << 8) | b0) != 0) true else false
}

   5. 4个字节数组转换为浮点型(Float)

 import java.nio.ByteBuffer
def bytes2float(_bytes: Array[Byte], _offset: Int): Double = { var _array: Array[Byte] = new Array[Byte](4) for (i <- 0 until 4) {
_array(i) = _bytes(-i + _offset + 3)
} return ByteBuffer.wrap(_array).getFloat()
}

   6. 8个字节数组转换为Double

 import java.nio.ByteBuffer
def bytes2real(_bytes: Array[Byte], _offset: Int): Double = { var _array: Array[Byte] = new Array[Byte](8) for (i <- 0 until 8) {
_array(i) = _bytes(-i + _offset + 7)
} return ByteBuffer.wrap(_array).getDouble
}

   7. 8个字节数组转换为Long

 import java.nio.ByteBuffer
def bytes2long(_bytes: Array[Byte], _offset: Int): Double = {
var _array: Array[Byte] = new Array[Byte](8) for (i <- 0 until 8) {
_array(i) = _bytes(-i + _offset + 7)
}
return ByteBuffer.wrap(_array).getLong
}

Scala字节数组转换为数字的更多相关文章

  1. C语言字节数组转换为基本数据类型

    首先,必须明确基本类型在不同环境下字节的大小 这里用到了unsigned char:1  int:4  double:8 自己主要想用的是将字节数组转换为int型,double型 具体来说,将接收到的 ...

  2. java中把字节数组转换为16进制字符串

    把字符串数组转换为16进制字符串 import java.security.MessageDigest; public class StringUtil { public StringUtil() { ...

  3. C#使用内存和指针方式将字节数组转换为Bitmap

    /// <summary> /// 指针方式转 /// </summary> /// <param name="Width">图像的宽</ ...

  4. c++字节数组转换为整型

    http://bbs.csdn.net/topics/360132089 BYTE data[4]={0x00,0x00,0xe6,0x00};//第一句UINT a11=*(UINT*)data;/ ...

  5. Java中二进制、十进制、十六进制及ASCII码与String及字节数组与十六进制之间的转换

    public class DigitalTrans { /** * 数字字符串转ASCII码字符串 * * @param String * 字符串 * @return ASCII字符串 */ publ ...

  6. mina 字节数组编解码器的写法 II

    I 里面的写法不够严谨,这也是我之前说它简陋的主要原因,下面来个更加严谨.完整一点儿的: ByteArrayEncoder.java package org.bruce.mina.cpp.codec; ...

  7. java对获取的字节数组进行处理

    java对获取的字节数组bytes[]进行处理: 第一种,直接将该字节数组转换为字符串(部分): String content = ,); //从位置0开始获取2个字节 这样,对获取的数据报进行全部转 ...

  8. 【Java】字节数组转换工具类

    import org.apache.commons.lang.ArrayUtils; import java.nio.charset.Charset; /** * 字节数组转换工具类 */ publi ...

  9. 字符串、字节数组、流之间的相互转换以及文件MD5的计算

    using System; using System.IO; using System.Security.Cryptography; using System.Text; namespace myMe ...

随机推荐

  1. django 小东小西

    1.request.META里包含了哪些数据? request.META 是一个Python字典,包含了所有本次HTTP请求的Header信息,比如用户IP地址和用户Agent(通常是浏览器的名称和版 ...

  2. Go语言基础(一)

    Go语言基础(一) 国庆体验一下大名鼎鼎的Go语言,IDE使用IEDA+Go插件,边敲代码边体会,感觉Go语言好酷 一.Hello World 和Java类似,go文件需要一个package包含,代码 ...

  3. NOIP-质因数分解

    题目描述 已知正整数n是两个不同的质数的乘积,试求出较大的那个质数. 输入描述: 输入只有一行,包含一个正整数n. 输出描述: 输出只有一行,包含一个正整数p,即较大的那个质数. #include&l ...

  4. vue学习:vue+webpack的快速使用指南(新手向)

    一.vue有两种使用方式: 1.下载vue.js <script src="vue.js"></script> 2.使用npm npm install vu ...

  5. Hadoop-2.9.2单机版安装(伪分布式模式)(一)

    一.环境 硬件:虚拟机VMware.win7 操作系统:Centos-7 64位 主机名: hadoopServerOne 安装用户:root软件:jdk1.8.0_181.Hadoop-2.9.2 ...

  6. 黑盒测试实践——day04

    一.任务进展情况 通过昨天的选择和搜集资料,目前已成功安装好了testWriter,目前正在选择合适的web系统,进行测试. 二.存在的问题 安装TestWriter之前,需要安装SQLServre2 ...

  7. eclipse创建spring boot项目,tomcat启动成功,但http://localhost:8080无法访问报错404解决方案

    spring boot的启动程序启动后,在访问http://localhost:8080地址的时候出现了错误,为什么出错网上我找了好久也没有得出具体的解决办法 当我指定到具体的action的时候,却可 ...

  8. python语法_深浅拷贝

    浅拷贝,.copy 只拷贝第一层(可用于建立银行共享账号). s1 = [‘a’,'b','c'] s2 = s1.copy() s2[0]='d' print(s2) print(s1) 此时修改s ...

  9. C语言面试题分类->宏定义

    1.写一个“标准”宏,这个宏输入两个参数并返回较小的一个 答:#define MIN(x, y) ((x)<(y)?(x):(y))//注意x,y要加括号,因为x,y如果有复合运算会出现问题. ...

  10. fpga xilink 电平