- 浏览: 111087 次
- 性别:
- 来自: 泰安
最新评论
-
bz201:
同意1楼说的jd-gui.exe反编译,你就原形毕露了!
史无前例的java代码混淆方法 -
liwen30678:
fcm915 写道gclzzhui 写道这个不行,修改会出错的 ...
关于SQL2008报表服务远程访问弹出验证的解决方法 -
MyDream83:
请问有种mac加密返回8个字节 跟你这有什么不同
JAVA单向加密(MD5,SHA,MAC) -
fcm915:
你有什么高见?
short,int,long与byte数组之间的转换 -
徐风子:
都09年了,你还在main里面写测试呀。不过java也挺操蛋的 ...
short,int,long与byte数组之间的转换
- package com.test;
- import java.nio.ByteBuffer;
- public class ByteUtil {
- /**
- * @param args
- */
- public static void main(String[] args) {
- test2();
- }
- public static void test2()
- {
- short s = -20;
- byte[] b = new byte[2];
- putReverseBytesShort(b, s, 0);
- ByteBuffer buf = ByteBuffer.allocate(2);
- buf.put(b);
- buf.flip();
- System.out.println(getReverseBytesShort(b, 0));
- System.out.println(Short.reverseBytes(buf.getShort()));
- System.out.println("***************************");
- int i = -40;
- b = new byte[4];
- putReverseBytesInt(b, i, 0);
- buf = ByteBuffer.allocate(4);
- buf.put(b);
- buf.flip();
- System.out.println(getReverseBytesInt(b, 0));
- System.out.println(Integer.reverseBytes(buf.getInt()));
- System.out.println("***************************");
- long l = -50;
- b = new byte[8];
- putReverseBytesLong(b, l, 0);
- buf = ByteBuffer.allocate(8);
- buf.put(b);
- buf.flip();
- System.out.println(getReverseBytesLong(b, 0));
- System.out.println(Long.reverseBytes(buf.getLong()));
- System.out.println("***************************");
- }
- public static void test1()
- {
- short s = -20;
- byte[] b = new byte[2];
- putShort(b, s, 0);
- ByteBuffer buf = ByteBuffer.allocate(2);
- buf.put(b);
- buf.flip();
- System.out.println(getShort(b, 0));
- System.out.println(buf.getShort());
- System.out.println("***************************");
- int i = -40;
- b = new byte[4];
- putInt(b, i, 0);
- buf = ByteBuffer.allocate(4);
- buf.put(b);
- buf.flip();
- System.out.println(getInt(b, 0));
- System.out.println(buf.getInt());
- System.out.println("***************************");
- long l = -50;
- b = new byte[8];
- putLong(b, l, 0);
- buf = ByteBuffer.allocate(8);
- buf.put(b);
- buf.flip();
- System.out.println(getLong(b, 0));
- System.out.println(buf.getLong());
- System.out.println("***************************");
- }
- public static void putShort(byte b[], short s, int index) {
- b[index] = (byte) (s >> 8);
- b[index + 1] = (byte) (s >> 0);
- }
- public static void putReverseBytesShort(byte b[], short s, int index) {
- b[index] = (byte) (s >> 0);
- b[index + 1] = (byte) (s >> 8);
- }
- public static short getShort(byte[] b, int index) {
- return (short) (((b[index] << 8) | b[index + 1] & 0xff));
- }
- public static short getReverseBytesShort(byte[] b, int index) {
- return (short) (((b[index+1] << 8) | b[index] & 0xff));
- }
- // ///////////////////////////////////////////////////////
- public static void putInt(byte[] bb, int x, int index) {
- bb[index + 0] = (byte) (x >> 24);
- bb[index + 1] = (byte) (x >> 16);
- bb[index + 2] = (byte) (x >> 8);
- bb[index + 3] = (byte) (x >> 0);
- }
- public static void putReverseBytesInt(byte[] bb, int x, int index) {
- bb[index + 3] = (byte) (x >> 24);
- bb[index + 2] = (byte) (x >> 16);
- bb[index + 1] = (byte) (x >> 8);
- bb[index + 0] = (byte) (x >> 0);
- }
- public static int getInt(byte[] bb, int index) {
- return (int) ((((bb[index + 0] & 0xff) << 24)
- | ((bb[index + 1] & 0xff) << 16)
- | ((bb[index + 2] & 0xff) << 8) | ((bb[index + 3] & 0xff) << 0)));
- }
- public static int getReverseBytesInt(byte[] bb, int index) {
- return (int) ((((bb[index + 3] & 0xff) << 24)
- | ((bb[index + 2] & 0xff) << 16)
- | ((bb[index + 1] & 0xff) << 8) | ((bb[index + 0] & 0xff) << 0)));
- }
- // /////////////////////////////////////////////////////////
- public static void putLong(byte[] bb, long x, int index) {
- bb[index + 0] = (byte) (x >> 56);
- bb[index + 1] = (byte) (x >> 48);
- bb[index + 2] = (byte) (x >> 40);
- bb[index + 3] = (byte) (x >> 32);
- bb[index + 4] = (byte) (x >> 24);
- bb[index + 5] = (byte) (x >> 16);
- bb[index + 6] = (byte) (x >> 8);
- bb[index + 7] = (byte) (x >> 0);
- }
- public static void putReverseBytesLong(byte[] bb, long x, int index) {
- bb[index + 7] = (byte) (x >> 56);
- bb[index + 6] = (byte) (x >> 48);
- bb[index + 5] = (byte) (x >> 40);
- bb[index + 4] = (byte) (x >> 32);
- bb[index + 3] = (byte) (x >> 24);
- bb[index + 2] = (byte) (x >> 16);
- bb[index + 1] = (byte) (x >> 8);
- bb[index + 0] = (byte) (x >> 0);
- }
- public static long getLong(byte[] bb, int index) {
- return ((((long) bb[index + 0] & 0xff) << 56)
- | (((long) bb[index + 1] & 0xff) << 48)
- | (((long) bb[index + 2] & 0xff) << 40)
- | (((long) bb[index + 3] & 0xff) << 32)
- | (((long) bb[index + 4] & 0xff) << 24)
- | (((long) bb[index + 5] & 0xff) << 16)
- | (((long) bb[index + 6] & 0xff) << 8) | (((long) bb[index + 7] & 0xff) << 0));
- }
- public static long getReverseBytesLong(byte[] bb, int index) {
- return ((((long) bb[index + 7] & 0xff) << 56)
- | (((long) bb[index + 6] & 0xff) << 48)
- | (((long) bb[index + 5] & 0xff) << 40)
- | (((long) bb[index + 4] & 0xff) << 32)
- | (((long) bb[index + 3] & 0xff) << 24)
- | (((long) bb[index + 2] & 0xff) << 16)
- | (((long) bb[index + 1] & 0xff) << 8) | (((long) bb[index + 0] & 0xff) << 0));
- }
- }
评论
2 楼
fcm915
2010-11-17
你有什么高见?
1 楼
徐风子
2010-11-11
都09年了,你还在main里面写测试呀。
不过java也挺操蛋的,居然没提供自带的int 到 byte[] 的转换工具。
不过java也挺操蛋的,居然没提供自带的int 到 byte[] 的转换工具。
发表评论
-
Cannot create JDBC driver of class 'com.p6spy.engine.spy.P6SpyDriver'
2010-11-17 14:55 4832Cannot create JDBC driver of cl ... -
Jocky混淆JAVA代码(保护你的JAVA项目)
2009-12-30 17:19 1597一、前言 1.1 什么是Jocky? 我们知道,Ja ... -
史无前例的java代码混淆方法
2009-12-30 17:06 4740现在的混淆方法琳琅满目,但每种混淆方法都要用第3方软件,其实混 ... -
Validator.js 很好用的客户端表单验证
2009-11-06 10:13 82411: /******************** ... -
对js中startWith和endWith的扩展
2009-11-05 09:20 1617<input name="searchCont ... -
jfreechart 生成折线图,饼图,柱状图,堆栈柱状图
2009-04-23 09:30 1183最近公司使用jfreechart来生成统计图,使用了折线图,饼 ... -
hibernate 动态pojo Map
2009-04-21 11:10 2084动态domain,用一个Map来代替对像,把原来domain中 ... -
加载properties文件路径错误问题
2009-04-18 11:10 1454一直用的好好的,突然之间 出错了. 错误是一个从来没有改过的东 ... -
查询及删除重复记录的方法
2009-04-06 13:34 829(一) 1、查找表中多余的重复记录,重复记录是根据单个字段(p ... -
java时间格式大全
2009-03-11 09:15 1058ava.util.*; import java.text.*; ... -
js判断数字,字母,中文
2009-03-10 10:45 2279js判断数字,字母,中 ... -
No value specified解决办法收藏
2009-03-05 13:17 13914当用到了时间等非内置对象时,如果对象为NULL则,会出现此异常 ... -
Map
2009-02-04 15:37 2133Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存 ... -
防止Java反编译的一些常用方法[转帖]
2008-10-31 08:38 1008常用的保护技术 ... -
Lucene小记
2008-10-24 17:11 1071Lucene.java: 建索引: public class ... -
用Java操作Office 2007
2008-10-24 15:51 1926用Java操作Office 2007 作者 ... -
从Java到Ruby:献给引路人的策略
2008-10-24 15:49 891从Java到Ruby:献给引路 ...
相关推荐
Java 中的基本类型与 byte 数组之间的转换是非常重要的,以下是关于 Java 基本类型与 byte 数组互相转换的相关知识点: 1. short 类型转换成 byte 数组 在 Java 中,short 类型是 16 位的整数类型,而 byte 数组是...
例如,我们可以将byte数组转换为short类型、int类型、long类型、float类型、double类型、char类型等。这种转换可以使用相应的构造函数或方法来实现。 在Java编程中,将基本类型转换为byte数组或将byte数组转换为...
这些基本类型可以相互转换,例如将 short 类型转换成 byte 数组、int 类型转换成 byte 数组等。 在 Java 中,基本类型可以使用 bitwise 运算符来实现与 byte 数组的转换。例如,将 short 类型转换成 byte 数组可以...
本文将深入探讨如何在Java中将byte数组与其他基本类型(如short、int、long)进行转换,这些转换在处理二进制数据、网络通信或序列化等方面至关重要。 首先,我们来看byte数组与short之间的转换。在Java中,byte...
在Java编程语言中,基本类型的变量(如`short`、`int`、`long`、`char`、`double`和`float`)和`byte`数组之间的相互转换是一项非常实用的技术,尤其是在网络通信、文件读写等场景下。下面将详细介绍如何进行这些...
在Java中,整数可以分为多种类型,如int、long、short等,每种类型都有其对应的byte数组长度。例如,int类型的整数可以转换为4字节的byte数组,而long类型的整数可以转换为8字节的byte数组。 在上面的代码中,我们...
ip地址转4字节byte,char转2字节byte,byte数组转char,int整数转换为4字节的byte数组,byte数组转换为int整数,double类型转8字节数组,8位数组转double,long整数转换为8字节的byte数组,short整数转换为2字节的...
本文将详细介绍如何在Java中将`byte`数组与其他基本数据类型(如`int`、`long`、`short`、`byte`)之间进行转换。 首先,我们来看`byte`到`int`的转换。Java中的`byte`类型是8位的,取值范围是-128到127。如果要将...
char short int long float double 转换成byte数组
### 二、byte数组转换为int类型 #### 方法:byteToInt() 此方法接收一个byte数组作为参数,并将其转换回int类型。 ```java public static int byteToInt(byte[] b) { int s = 0; for (int i = 0; i ; i++) { if ...
原始类型包括整型(如byte、short、int、long)、浮点型(如float、double)、字符型(char)以及布尔型(boolean)。这些类型的数据可以直接在内存中存储值,而无需创建对象。然而,在某些场景下,我们可能需要将...
上述代码提供了一些静态方法,用于在基本类型与byte数组之间进行转换。我们逐一分析这些方法: 1. `getBytes(short data)` 和 `getShort(byte[] bytes)` - 这两个方法处理short类型。`getBytes(short data)` 将...
java 对象转换为 byte 数组的 3 种方法 在 Java 中,将对象转换为 byte 数组是一种常见的操作,特别是在使用 Netty 进行通信协议传输的场景中。那么,如何方便地将一个 Java 对象构造成一个 byte 数组呢? 方法 1...
byte数组转换为int 保留几位小数 null转String String转Byte String转Boolean String转Int String转Short String转Double Int转String Double转Long Double转Int Long转Double Long转Int String转Long Long转String
举例分析 equals 和 hashcode 方法,hashcode应该怎么样生成 8个基本类型与基本对象的比较:byte与Byte shot与Short int与Integer long与Long float与Float double与Double char与Character
字节转换什么事啊您是否曾经想过通过I2C,SPI,串行或其他协议或总线传输int , short , long , double或任何其他数字类型,但是您已将变量转换为字符串以能够按char进行传输。 该库使您可以将任何数值转换为字节...
原始数据类型包括byte、short、int、long、float、double、char和boolean,而引用数据类型则包括类(class)、接口(interface)和数组。在处理数值计算时,我们可能需要在不同数据类型之间进行转换,特别是当涉及到long...
"Java整型数与网络字节序byte[]数组转换关系详解" 本文主要介绍了Java整型数与网络字节序byte[]数组之间的转换关系,包括整型数到byte[]数组的转换和byte[]数组到整型数的转换。这些转换关系在Java和C/C++之间的...
float、double等类型与byte数组相互转换,根据数据类型的位数不同,对应的数组大小也不同、例如int32位,4个字节,则需要大小为4的byte数组来进行转换,详情请看代码,里面有转换的实现和详细的注释