byte[]与基本类型的转换教程.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
byte[]与基本类型的转换教程

2013-08-10 ????  HYPERLINK javascript:void(0); 8 HYPERLINK /kf/201308/235099.html \l SOHUCS ?个评论 ?? ?? 作者:在路上001  HYPERLINK javascript:; 收藏 ??  HYPERLINK /index.php?m=memberc=contenta=publishmodid=1siteid=1 \t _blank 我要投稿 ?在Java的网络 HYPERLINK /kf \t _blank 编程中传输的经常是byte数组,但我们实际中使用的数据类型可能是任一种数据类型,这就需要在它们之间相互转换,转换的核心在于将其他类型的数据的每一位转换成byte类型的数据。下面给出相关的转换代码 1.short与byte数组的互转 ? [java] /** * 转换short为byte * * @param b * @param s 需要转换的short * @param index */? public static void putShort(byte b[], short s, int index) {? ???? b[index + 1] = (byte) (s 8);? ???? b[index + 0] = (byte) (s 0);? }? ? /** * 通过byte数组取到short * * @param b * @param index? 第几位开始取 * @return */? public static short getShort(byte[] b, int index) {? ????? return (short) (((b[index + 1] 8) | b[index + 0] 0xff));? }? /** * 转换short为byte * * @param b * @param s 需要转换的short * @param index */ public static void putShort(byte b[], short s, int index) { ???? b[index + 1] = (byte) (s 8); ???? b[index + 0] = (byte) (s 0); } /** * 通过byte数组取到short * * @param b * @param index? 第几位开始取 * @return */ public static short getShort(byte[] b, int index) { ????? return (short) (((b[index + 1] 8) | b[index + 0] 0xff)); } 2.int与byte数组的互转 [java] /** *将32位的int值放到4字节的byte数组 * @param num * @return */? public static byte[] intToByteArray(int num) {? ?? byte[] result = new byte[4];? ?? result[0] = (byte)(num 24);//取最高8位放到0下标?? ?? result[1] = (byte)(num 16);//取次高8为放到1下标?? ?? result[2] = (byte)(num 8); //取次低8位放到2下标?? ?? result[3] = (byte)(num );????? //取最低8位放到3下标?? ?? return result;? }? ? /** * 将4字节的byte数组转成一个int值 * @param b * @return */? 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];? ??????? else? ??????????? a[i] = 0;//如果b.length不足4,则将高位补0?? ? }? ??? int v0 = (a[0] 0xff) 24;//0xff将byte值无差异转成int,避免 HYPERLINK /kf/ware/Java/ \t _blank Java自动

文档评论(0)

dajuhyy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档