java int to byte中怎么把int型转成byte型

java中short,int转换成byte数组及byte数组转换成short,int_Java_ThinkSAAS
java中short,int转换成byte数组及byte数组转换成short,int
java中short,int转换成byte数组及byte数组转换成short,int
内容来源: 网络
private static byte[] shortToByteArray(short s) {
byte[] shortBuf = new byte[2];
for(int i=0;i&2;i++) {
int offset = (shortBuf.length - 1 -i)*8;
shortBuf[i] = (byte)((s&&&offset)&0xff);
return shortB
public static final int byteArrayToShort(byte [] b) {
return (b[0] && 8)
+ (b[1] & 0xFF);
public static byte[] intToByteArray(int value){
byte[] b = new byte[4];
for (int i = 0; i & 4; i++) {
int offset = (b.length - 1 - i) * 8;
b[i] = (byte) ((value &&& offset) & 0xFF);
public static final int byteArrayToInt(byte [] b) {
return (b[0] && 24)
+ ((b[1] & 0xFF) && 16)
+ ((b[2] & 0xFF) && 8)
+ (b[3] & 0xFF);
PHP开发框架
开发工具/编程工具
服务器环境
ThinkSAAS商业授权:
ThinkSAAS为用户提供有偿个性定制开发服务
ThinkSAAS将为商业授权用户提供二次开发指导和技术支持
让ThinkSAAS更好,把建议拿来。
开发客服微信帐号:密码:下次自动登录{url:/nForum/slist.json?uid=guest&root=list-section}{url:/nForum/nlist.json?uid=guest&root=list-section}
贴数:10&分页:大王叫我来巡山发信人: samyou090 (落埃无蒂), 信区: Java
标&&题: 求教如何将一个java的byte数组快速转换为int数组
发信站: 水木社区 (Wed Apr&&4 10:40:25 2012), 站内 && 使用移位操作感觉太慢,而且得一个字节一个字节的移,延迟太大了&& 我在c里面用jni实现了指针类型转换直接转为int型指针然后传入上层,结果发现android tmd使用小端序,所以指针强制转换不行,还是得上层java去转,就是不知道有没有什么比较快的方法。&&&&&& 注:我试了用bytebuffer转intbuffer然后asintarray来使用的,但是。。你懂的。。
※ 修改:·samyou090 于 Apr&&4 10:42:03 2012 修改本文·[FROM: 123.117.182.*]
※ 来源:·水木社区 ·[FROM: 123.117.182.*]
数码宅男发信人: Evan (数码宅男), 信区: Java
标&&题: Re: 求教如何将一个java的byte数组快速转换为int数组
发信站: 水木社区 (Wed Apr&&4 11:11:19 2012), 站内 && 最后一个怎么说?
我就写了个for循环。。
int[] result = new int[raw.length];
for (int i=0;i&raw.i++) { &&&& result[i] = (int) raw[i] & 0xFF;
【 在 samyou090 (落埃无蒂) 的大作中提到: 】
: 使用移位操作感觉太慢,而且得一个字节一个字节的移,延迟太大了&&
: 我在c里面用jni实现了指针类型转换直接转为int型指针然后传入上层,结果发现android tmd使用小端序,所以指针强制转换不行,还是得上层java去转,就是不知道有没有什么比较快的方法。&&
: 注:我试了用bytebuffer转intbuffer然后asintarray来使用的,但是。。你懂的。。
: ...................
&& -- && ╱┐&&&& ──┐&&&&&&&&&&&&&&╱&&&&&& ╱┬╱┬ && ┌┬┐&&──╱─ ╱ ┼ ╱┬ ├┐╱┐&&&&╱╲&&&&╱ ┐&& ┼ ╲│╱ && └┴┘&&&& │&&&&│┌┐ ╳&&├┤☉│&&╱──╲&& '╱&& /├ ──┐ && ╱│☉&&&& ┘&&&&│└┘&&&& └┘&&┘&& ╲╲╱&& ╱┌┐&&│ ──┤ &&&& └─┘&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ───&&&& └┘&&&& ──┘ &&&& ※ 来源:·水木社区 newsmth.net·[FROM: 124.64.122.*]
无聊了发信人: hero080 (无聊了), 信区: Java
标&&题: Re: 求教如何将一个java的byte数组快速转换为int数组
发信站: 水木社区 (Wed Apr&&4 11:13:30 2012), 站内 && 这,人家明显是多个byte组成一个int嘛
【 在 Evan (数码宅男) 的大作中提到: 】
: 最后一个怎么说?
: 我就写了个for循环。。
: ...................
pkuschool&&&& 打TVT &&&&&&和&&&&
TheReaver&&&& 打PVP &&&&&&&&&& 和&&&&
Heidern&&&&&& 打ZVZ &&&&&&&&&&&&&&&&和&&&&
daizhiwei&&&& 打RVR
※ 来源:·BBS 水木清华站 smth.org·[FROM: 219.244.164.*]&&&&&& ※ 来源:·水木社区 newsmth.net·[FROM: 24.7.85.*]
数码宅男发信人: Evan (数码宅男), 信区: Java
标&&题: Re: 求教如何将一个java的byte数组快速转换为int数组
发信站: 水木社区 (Wed Apr&&4 11:17:48 2012), 站内 && 这意思。。
我只是还蛮常遇到byte转int的
那看写起来写到ByteBuffer再读应该可行啊
【 在 hero080 (无聊了) 的大作中提到: 】
: 这,人家明显是多个byte组成一个int嘛
&&&& -- && ╱┐&&&& ──┐&&&&&&&&&&&&&&╱&&&&&& ╱┬╱┬ && ┌┬┐&&──╱─ ╱ ┼ ╱┬ ├┐╱┐&&&&╱╲&&&&╱ ┐&& ┼ ╲│╱ && └┴┘&&&& │&&&&│┌┐ ╳&&├┤☉│&&╱──╲&& '╱&& /├ ──┐ && ╱│☉&&&& ┘&&&&│└┘&&&& └┘&&┘&& ╲╲╱&& ╱┌┐&&│ ──┤ &&&& └─┘&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ───&&&& └┘&&&& ──┘ &&&& ※ 来源:·水木社区 newsmth.net·[FROM: 124.64.122.*]
数码宅男发信人: Evan (数码宅男), 信区: Java
标&&题: Re: 求教如何将一个java的byte数组快速转换为int数组
发信站: 水木社区 (Wed Apr&&4 11:24:02 2012), 站内 && 不知道
ByteArrayInputStream a = new ByteArrayInputStream(raw);
DataInputStream d = new DataInputStream(a);
d.readShort()或者d.readInt()行不行
虽然看起来走IO的性能应该更差
【 在 samyou090 (落埃无蒂) 的大作中提到: 】
: 使用移位操作感觉太慢,而且得一个字节一个字节的移,延迟太大了&&
: 我在c里面用jni实现了指针类型转换直接转为int型指针然后传入上层,结果发现android tmd使用小端序,所以指针强制转换不行,还是得上层java去转,就是不知道有没有什么比较快的方法。&&
: 注:我试了用bytebuffer转intbuffer然后asintarray来使用的,但是。。你懂的。。
: ...................
&& -- && ╱┐&&&& ──┐&&&&&&&&&&&&&&╱&&&&&& ╱┬╱┬ && ┌┬┐&&──╱─ ╱ ┼ ╱┬ ├┐╱┐&&&&╱╲&&&&╱ ┐&& ┼ ╲│╱ && └┴┘&&&& │&&&&│┌┐ ╳&&├┤☉│&&╱──╲&& '╱&& /├ ──┐ && ╱│☉&&&& ┘&&&&│└┘&&&& └┘&&┘&& ╲╲╱&& ╱┌┐&&│ ──┤ &&&& └─┘&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ───&&&& └┘&&&& ──┘ &&&& ※ 来源:·水木社区 newsmth.net·[FROM: 124.64.122.*]
大王叫我来巡山发信人: samyou090 (落埃无蒂), 信区: Java
标&&题: Re: 求教如何将一个java的byte数组快速转换为int数组
发信站: 水木社区 (Wed Apr&&4 11:52:49 2012), 站内 && 这个比移位还慢吧,呵呵
【 在 Evan 的大作中提到: 】
: ByteArrayInputStream a = new ByteArrayInputStream(raw);
: DataInputStream d = new DataInputStream(a);
: ...................
-- && ※ 来源:·水木社区 ·[FROM: 123.117.182.*]
数码宅男发信人: Evan (数码宅男), 信区: Java
标&&题: Re: 求教如何将一个java的byte数组快速转换为int数组
发信站: 水木社区 (Wed Apr&&4 11:58:18 2012), 站内 && 我也这么觉得,当然,不行试试看也好
多大数据量啊?移位有这么不能忍么
android上jni是不太合适,不是所有都一样的,发布也肯能有点问题
联想lephone的jni就和其他不同
【 在 samyou090 (落埃无蒂) 的大作中提到: 】
: 这个比移位还慢吧,呵呵
&&&& -- && ╱┐&&&& ──┐&&&&&&&&&&&&&&╱&&&&&& ╱┬╱┬ && ┌┬┐&&──╱─ ╱ ┼ ╱┬ ├┐╱┐&&&&╱╲&&&&╱ ┐&& ┼ ╲│╱ && └┴┘&&&& │&&&&│┌┐ ╳&&├┤☉│&&╱──╲&& '╱&& /├ ──┐ && ╱│☉&&&& ┘&&&&│└┘&&&& └┘&&┘&& ╲╲╱&& ╱┌┐&&│ ──┤ &&&& └─┘&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ───&&&& └┘&&&& ──┘ &&&& ※ 来源:·水木社区 newsmth.net·[FROM: 124.64.122.*]
ibooks发信人: iBooks (iBooks for iOS), 信区: Java
标&&题: Re: 求教如何将一个java的byte数组快速转换为int数组
发信站: 水木社区 (Wed Apr&&4 12:37:06 2012), 站内 && 这些厂商这样乱改不是要搞死android吗。
1000个厂商就有1000个android。
开发者兼容性怎么弄啊。
【 在 Evan (数码宅男) 的大作中提到: 】
: 我也这么觉得,当然,不行试试看也好
: 多大数据量啊?移位有这么不能忍么
: android上jni是不太合适,不是所有都一样的,发布也肯能有点问题
: ...................
&& -- && ※ 来源:·水木社区 newsmth.net·[FROM: 121.18.236.*]
大王叫我来巡山发信人: samyou090 (落埃无蒂), 信区: Java
标&&题: Re: 求教如何将一个java的byte数组快速转换为int数组
发信站: 水木社区 (Wed Apr&&4 12:37:45 2012), 站内 && 联想lephone和别的不同?有啥不同啊,能说一下吗? &&&& 【 在 Evan 的大作中提到: 】
: 我也这么觉得,当然,不行试试看也好
: 多大数据量啊?移位有这么不能忍么
: android上jni是不太合适,不是所有都一样的,发布也肯能有点问题
: ...................
-- && ※ 来源:·水木社区 ·[FROM: 123.117.182.*]
数码宅男发信人: Evan (数码宅男), 信区: Java
标&&题: Re: 求教如何将一个java的byte数组快速转换为int数组
发信站: 水木社区 (Wed Apr&&4 12:55:37 2012), 站内 && 他们的jni需要自己的sdk编译
似乎是芯片不一样?
不过也是很早前的事情啦,我觉得应该现在机器没这问题了吧
【 在 samyou090 (落埃无蒂) 的大作中提到: 】
: 联想lephone和别的不同?有啥不同啊,能说一下吗?
&&&& -- && ╱┐&&&& ──┐&&&&&&&&&&&&&&╱&&&&&& ╱┬╱┬ && ┌┬┐&&──╱─ ╱ ┼ ╱┬ ├┐╱┐&&&&╱╲&&&&╱ ┐&& ┼ ╲│╱ && └┴┘&&&& │&&&&│┌┐ ╳&&├┤☉│&&╱──╲&& '╱&& /├ ──┐ && ╱│☉&&&& ┘&&&&│└┘&&&& └┘&&┘&& ╲╲╱&& ╱┌┐&&│ ──┤ &&&& └─┘&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ───&&&& └┘&&&& ──┘ &&&& ※ 来源:·水木社区 newsmth.net·[FROM: 124.64.122.*]
文章数:10&分页:6935人阅读
JAVA(103)
面试(45)
进制转换(4)
java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送、者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形int转换成byte数组,同时如何把一个长度为4的byte数组转换为int类型。下面有两种方式。
public class ByteUtil {
* 整型转换为4位字节数组
* @param intValue
public static byte[] int2Byte(int intValue) {
byte[] b = new byte[4];
for (int i = 0; i & 4; i++) {
b[i] = (byte) (intValue && 8 * (3 - i) & 0xFF);
//System.out.print(Integer.toBinaryString(b[i])+& &);
//System.out.print((b[i] & 0xFF) + & &);
* 4位字节数组转换为整型
* @param b
public static int byte2Int(byte[] b) {
int intValue = 0;
for (int i = 0; i & b.length; i++) {
intValue += (b[i] & 0xFF) && (8 * (3 - i));
return intValue;
最近在做些与编解码相关的事情,又遇到了byte和int的转换,看着那些关于反码、补码的说明依旧头疼,还是记下些实用的方法吧。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:4795584次
积分:45366
积分:45366
排名:第58名
原创:226篇
转载:2355篇
评论:505条
(5)(74)(67)(96)(177)(114)(86)(40)(43)(73)(15)(10)(17)(12)(6)(20)(27)(54)(71)(97)(74)(32)(2)(24)(21)(62)(60)(36)(23)(27)(46)(34)(76)(63)(121)(142)(74)(54)(120)(77)(42)(4)(12)(19)(1)(9)(15)(19)(18)(16)(31)(79)(68)java int转byte和long转byte的方法
投稿:jingxian
字体:[ ] 类型:转载 时间:
下面小编就为大家带来一篇java int转byte和long转byte的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
在网络编程中,出于节约带宽或者编码的需要,通常需要以原生方式处理long和int,而不是转换为string。
public class ByteOrderUtils {
public static byte[] int2byte(int res) {
byte[] targets = new byte[4];
targets[3] = (byte) (res & 0xff);// 最低位
targets[2] = (byte) ((res && 8) & 0xff);// 次低位
targets[1] = (byte) ((res && 16) & 0xff);// 次高位
targets[0] = (byte) (res &&& 24);// 最高位,无符号右移。
public static int byteArrayToInt(byte[] b){
byte[] a = new byte[4];
int i = a.length - 1,j = b.length - 1;
for (; i &= 0 ; i--,j--) {//从b的尾部(即int值的低位)开始copy数据
if(j &= 0)
a[i] = b[j];
a[i] = 0;//如果b.length不足4,则将高位补0
int v0 = (a[0] & 0xff) && 24;//&0xff将byte值无差异转成int,避免Java自动类型提升后,会保留高位的符号位
int v1 = (a[1] & 0xff) && 16;
int v2 = (a[2] & 0xff) && 8;
int v3 = (a[3] & 0xff) ;
return v0 + v1 + v2 + v3;
public static byte[] long2byte(long res) {
byte[] buffer = new byte[8];
for (int i = 0; i & 8; i++) {
int offset = 64 - (i + 1) * 8;
buffer[i] = (byte) ((res && offset) & 0xff);
public static long byteArrayToLong(byte[] b){
long values = 0;
for (int i = 0; i & 8; i++) {
values &&= 8; values|= (b[i] & 0xff);
以上就是小编为大家带来的java int转byte和long转byte的方法全部内容了,希望大家多多支持脚本之家~
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具int类型与四位字节数组互转(java) - cai555 - ITeye技术网站
博客分类:
package com.mapabc.sz_hbt.
* &p&Title:整型与长度为4的字节数组的互换 &/p&
* &p&Description: &/p&
* &p&Copyright: Copyright (c) &/p&
* &p&Company: &/p&
* @author luoyj
* @version 1.0
public class ByteUtil {
* 整型转换为4位字节数组
* @param intValue
public static byte[] int2Byte(int intValue) {
byte[] b = new byte[4];
for (int i = 0; i & 4; i++) {
b[i] = (byte) (intValue && 8 * (3 - i) & 0xFF);
//System.out.print(Integer.toBinaryString(b[i])+" ");
//System.out.print((b[i] & 0xFF) + " ");
* 4位字节数组转换为整型
* @param b
public static int byte2Int(byte[] b) {
int intValue = 0;
int tempValue = 0xFF;
for (int i = 0; i & b. i++) {
intValue += (b[i] & 0xFF) && (8 * (3 - i));
// System.out.print(Integer.toBinaryString(intValue)+" ");
return intV
[*][img][/img][url][/url][flash=200,200][/flash]
浏览: 715960 次
来自: 杭州
感谢,很有帮助。
写的什么东西,文不对题
org.eclipse.equinox.servlet.api ...
写的挺细,有用!
public class XMLUtil {}

我要回帖

更多关于 java int强转byte 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信