Java byte[]与short[]之间转换
直接上代码:
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.Arrays;import org.apache.log4j.Logger;public class CommonUtil {private static Logger logger = Logger.getLogger(CommonUtil.class);public static short[] bytesToShort(byte[] bytes) {if(bytes==null){return null;}short[] shorts = new short[bytes.length/2];ByteBuffer.wrap(bytes).order(ByteOrder.LITTLE_ENDIAN).asShortBuffer().get(shorts);return shorts;}public static byte[] shortToBytes(short[] shorts) {if(shorts==null){return null;}byte[] bytes = new byte[shorts.length * 2];ByteBuffer.wrap(bytes).order(ByteOrder.LITTLE_ENDIAN).asShortBuffer().put(shorts);return bytes;} public static void main(String[] args) {byte[] ba = {21,32,45,98,46,85};short[] sa = bytesToShort(ba);byte[] bb = shortToBytes(sa);System.out.println("ba=" + Arrays.toString(ba) + ",sa=" + Arrays.toString(sa) + ",bb=" + Arrays.toString(bb));}
}
注意:代码里有大小端参数,小端 LITTLE_ENDIAN 大端BIG_ENDIAN,简单来说,大端模式就是存储器的高地址存放低字节;小端模式就是存储器的低地址存放低字节。我们常用的X86结构是小端模式,而KEIL C51则为大端模式。很多的ARM,DSP都为小端模式。有些ARM处理器还可以由硬件来选择是大端模式还是小端模式。由于这里是在X86机器上运行,所以选择小端。
Java byte[]与short[]之间转换相关推荐
- JAXB实现java对象与xml之间转换
一.Jaxb处理java对象和xml之间转换常用的annotation有: 1. @XmlType 2. @XmlElement 3. @XmlRootElement 4. @XmlAttribute ...
- java byte转int 互相转换原理详解
转自:https://blog.csdn.net/wojiuai2093/article/details/50779879 int i = 0; i += ((b[0] & 0xff) & ...
- 对象转数组_fastJson中java对象 jsonObject jsonArray之间转换
一.介绍 简介:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式 二.使用 1.java对象转jsonObject User u = new User(); ...
- Java byte转换为int
Java byte到Int的转换 Java byte到Int的转换有两种: 带符号转换,数值转换 无符号转换 byte本身是带正负符号的, 默认向上转换也是带符号 带符号转换 byte本身是带正负符号 ...
- java中byte和short类型的相互转换(不是用隐式转换)
技术点: 计算机中存储是用补码!!,同时注意一下计算省略了高位不变部分 1.byte:有符号(意思是有正和负),在网络传输中都是会用到byte的,它占1个字节,共8位,比如说11111111就可以用1 ...
- java byte转16进制_Java 十六进制(Hex)与byte数组之间的转换
一.十六进制(Hex)与字节(byte)的概念 十六进制(Hex):计算机中数据的一种表示方法,它由0-9,A-F组成,字母不区分大小写.与10进制的对应关系是:0-9对应0-9:A-F对应10-15 ...
- java byte数组与int,long,short,byte转换
1 public class DataTypeChangeHelper { 2 /** 3 * 将一个单字节的byte转换成32位的int 4 * 5 * @param b 6 * byte 7 * ...
- Java开发中数据类型之间的转换
1).简单类型数据间的转换,有两种方式:自动转换和强迫转换,通常产生在表达式中或方法的参数传递时. 自动转换 具体地讲,当1个较"小"数据与1个较"大"的数据1 ...
- java编程int和byte的用法_Java中的Byte Array和Int转换
Java中的Byte Array和Int转换 我有这两个函数有一些困难: byteArrayToInt和intToByteArray . 问题是,如果我使用另一个来得到另一个结果,结果是不同的,你可以 ...
最新文章
- 如何判断Java中两个Class对象是否相同
- 从源码分析DEARGUI之动态绘图的两种方法
- maven WEB项目启动没问题访问页面就报错:org.apache.jasper.JasperException: Unable to compile class for JSP
- shell+中sum的用法_SUM函数从入门到进阶,不用放弃!
- VTK:非结构化网格之ClipUnstructuredGridWithPlane
- 节后大礼包!XSql 源码开放,插件源码开放,Sofire v1.6 源码开放(已上传)
- 字母c语言定义为什么变量,C语言为什么要规定对所用到的变量要“先定义,后使用”...
- leetcode —— 1. 两数之和
- python之os模块的基本使用
- 不同数据库模式下DATE类型的行为解析
- spring-boot-maven-plugin插件
- Centos下SVN环境部署记录
- 直方图规定化计算过程
- (BFS/状态压缩)HDU 5025 Saving Tang Monk
- windows10服务器iis发布网站,win10系统+iis7发布网站或服务的详细办法
- 《带您走进西藏》网课章节测验及答案
- 算法设计-实现运动员比赛日程表 C代码
- spider_爬取斗图啦所有表情包(图片保存)
- 苹果电脑打印A4纸上纸盒的细线很浅
- 2021-CVPR-图像修复论文导读《Image Inpainting Guided by Coherence Priors of Semantics and Textures》
热门文章
- 360度全景摄像是什么?360度全景摄像有什么用?
- 农村商业银行服务器未收到证书,不及时更新“证书” 当心网银U盾失效
- 使用python的zipfile模块巧解word批量生成问题
- Android中播放本地SD卡中歌曲需要的添加的权限
- 【深度学习入门系列】径向基函数(RBF)神经网络原理介绍及pytorch实现(内含分类、回归任务实例)
- 解决this._data.$$state...“Error: [vuex] do not mutate vuex store state outside mutation handlers.“ 报错
- 学经济还是学计算机,经济学,计算机和人生
- android 百度地图3.0定位,百度地图定位功能实现v3_0_0
- 从经济学角度解读人工智能
- python编程字典数据库_python基础数据类型之字典、集合