kevinpan45
2012-04-09 15:02
浏览 412
已采纳

byte[]和int的转换

当int的二进制值在数组中的一个byte里面不能表示时(超过八位)在byte数组里面是以怎样的方式存放的?网上也没有好一点的讲解,有好资料的希望共享一下

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • biny18 2012-04-09 16:15
    已采纳

    不太明白楼主想问的是什么,不过大概说下byte和int的关系吧,一个int占4个byte,例如int 1的话,byte就是(0x00,0x00,0x00,0x01),int 256的话,byte就是(0x00,0x00,0x01,0x00),不知道是不是你想要的

    已采纳该答案
    打赏 评论
  • iteye_3843 2012-04-09 15:26

    大整数的话用BigInteger,转byte[] 用它的方法toByteArray

    打赏 评论
  • iteye_3843 2012-04-09 17:31

    [quote]有没有什么方法可以直接将二进制字符串的值赋值给byte[],例如
    Java代码 收藏代码

    String str = "1000000";  
    byte[] b = strToByteArray(str); //  假设有这么个方法  [/quote]
    

    当然有了,用apache commons-codec的
    BinaryCodec类专门用来干这种事的

    打赏 评论
  • iteye_3843 2012-04-10 10:00

    [quote]byte[]数组能不能进行指定位置的byte的替换(着也是我问数值在byte数组里面是以什么样的方式存放的原因),有没有相关的算法或者常用的处理方式,用java来处理包基本找不到资料,有哪位大虾有经验的可以指导一下我[/quote]

    byte[]已经是数组了,当然可以指定位置替换啊。 随便替换

    打赏 评论
  • biny18 2012-04-10 12:07

    调用同样的方法128编程字符数组后返回给我的值是不正确的
    正确的吧,不知道你说哪里不正确了

    打赏 评论

相关推荐 更多相似问题