当int的二进制值在数组中的一个byte里面不能表示时(超过八位)在byte数组里面是以怎样的方式存放的?网上也没有好一点的讲解,有好资料的希望共享一下
不太明白楼主想问的是什么,不过大概说下byte和int的关系吧,一个int占4个byte,例如int 1的话,byte就是(0x00,0x00,0x00,0x01),int 256的话,byte就是(0x00,0x00,0x01,0x00),不知道是不是你想要的
大整数的话用BigInteger,转byte[] 用它的方法toByteArray
[quote]有没有什么方法可以直接将二进制字符串的值赋值给byte[],例如
Java代码 收藏代码
String str = "1000000";
byte[] b = strToByteArray(str); // 假设有这么个方法 [/quote]
当然有了,用apache commons-codec的
BinaryCodec类专门用来干这种事的
[quote]byte[]数组能不能进行指定位置的byte的替换(着也是我问数值在byte数组里面是以什么样的方式存放的原因),有没有相关的算法或者常用的处理方式,用java来处理包基本找不到资料,有哪位大虾有经验的可以指导一下我[/quote]
byte[]已经是数组了,当然可以指定位置替换啊。 随便替换
调用同样的方法128编程字符数组后返回给我的值是不正确的
正确的吧,不知道你说哪里不正确了