如何将二进制字符串转换为byte[]?

问题描述

byte[] b = new byte[fis.available()];StringBuilder str = new StringBuilder();fis.read(b);for(byte bs:b){ str.append(Integer.toBinaryString(bs));//转换为二进制 }fis.close();我通过这种方式将一个byte[]转换为二进制的字符串。里面全是0和1字符。现怎么将这种二进制字符串转换为byte[]数组?我知道有其它将byte[]和字符串之间互相转换的方法。但我现在只求这种二进制字符串的转换方法。拜托各位了。。 问题补充:kidding87 写道

解决方案

少年,强烈建议把让你做这个的人干掉!下面就是那个变态要的 public static byte[] byte2String(String binaryByteString){ //假设binaryByte 是01,10,011,00以,分隔的格式的字符串 String[] binaryStr=binaryByteString.split(","); byte[] byteArray=new byte[binaryStr.length]; for(int i=0;i<byteArray.length;i++){ byteArray[i]=(byte)parse(binaryStr[i]); } return byteArray; } public static int parse(String str){ //32位 为负数 if(32==str.length()){ str="-"+str.substring(1); return -(Integer.parseInt(str, 2)+Integer.MAX_VALUE+1); } return Integer.parseInt(str, 2); }
解决方案二:
webservice的协议可以使用http、xml的格式的数据呀而且String 直接由getBytes()这个方法
解决方案三:
不知道你转这些需要做什么,对于认知上来说,其实它就是01010的二进制,只是显示上的区别而已
解决方案四:
String input = "1001010,1101010,11";String[] inputs = input.split(",");byte[] outputs = new byte[inputs.length];for (int i = 0; i < outputs.length; i++) {outputs[i] = Byte.parseByte(inputs[i],2);System.out.println(outputs[i]);}
解决方案五:
上面说的对,你要每个byte一个二进制字符串才可能转回去
解决方案六:
你这样转后str 就是010101111这样的字符串这个没有分隔是不能逆转回去的啊

时间: 2025-01-28 08:31:40

如何将二进制字符串转换为byte[]?的相关文章

asp实现二进制字符串转换为Unicode字符串_应用技巧

若需要utf-8格式,请自行将下面的GB2312改成utf-8. ' 二进制转字符串,否则会出现乱码的!  Function sTb(vin)         Const adTypeText = 2         Dim BytesStream,StringReturn         Set BytesStream = Server.CreateObject("ADODB.Stream")  With BytesStream        .Type = adTypeText  

二进制-java类型转化之int转换为byte[]

问题描述 java类型转化之int转换为byte[] 小白想请问一个问题: java中将int转换为byte[]数组时,我参考网上的代码如下: public byte[] int2bytes(int Num){ byte[] bytes = new byte[4]; bytes[0] = (byte)(Num & 0xff); bytes[1] = (byte)((Num >> 8) & 0xff ); bytes[2] = (byte)((Num >> 16) &

c#-[C#] byte.parse中调试过程中报字符串转换为DataTime时的错误

问题描述 [C#] byte.parse中调试过程中报字符串转换为DataTime时的错误 如图提示 解决方案 用字符串 68 86 20 05 00 00 00 68 11 04 00 01 01 02 测试能通过 但是用字符串 FE FE 68 86 20 05 00 00 00 68 91 06 33 34 34 35 34 57 6D 16 测试报这个错误

Java中字符串与byte数组之间的相互转换_java

前言 Java与其他语言编写的程序进行tcp/ip socket通讯时,通讯内容一般都转换成byte数组型,java在字符与数组转换也是非常方便的.下面跟我一起来了解一下字符串与byte之间转换的原理 原理 我们都知道,在Java里byte类型是占用1个字节,即8位的,而16进制的字符占用4位,所以每个byte可以用两个字符来表示,反之亦然. 举个例子 byte = 123 用二进制表示:0111 1011 每4位用字符表示: 7 b 是的,原理就这么简单,接下来用代码实现: byte[] 转1

使用JavaScript进行进制转换将字符串转换为十进制

JS 是一个很神奇的语言,内制的的很多函数可以帮我们进行数(进)制转换: JS中可以直接使用16进制: var a = 0xff; //255 将任意进制字符串转换为十进制,如二进制,八进制,十六进制, 第二数数不写即为最常用的转换为整型十进制:   代码如下: parseInt("11", 2); // 3 2进制转10进制 parseInt("77", 8); // 63 8进制转10进制 parseInt("af", 16); //175

JavaScript进行进制转换如何将字符串转换为十进制?

  JS 是一个很神奇的语言,内制的的很多函数可以帮我们进行数(进)制转换; JS中可以直接使用16进制; var a = 0xff; //255 将任意进制字符串转换为十进制,如二进制,八进制,十六进制, 第二数数不写即为最常用的转换为整型十进制; 代码如下: parseInt("11", 2); // 3 2进制转10进制 parseInt("77", 8); // 63 8进制转10进制 parseInt("af", 16); //175

java中字符串转换为字节数组请问用什么方法,字符串返回字节数组怎么做?

问题描述 java中字符串转换为字节数组请问用什么方法,字符串返回字节数组怎么做? java中字符串转换为字节数组请问用什么方法,字符串返回字节数组怎么做? 解决方案 http://blog.csdn.net/shuaihj/article/details/7478773http://blog.csdn.net/abin_gha/article/details/6317850 解决方案二: java中String类有getBytes方法,可以将字符串转成字节数组.字节数组可以直接写入到输出流中,

使用JavaScript进行进制转换将字符串转换为十进制_javascript技巧

JS 是一个很神奇的语言,内制的的很多函数可以帮我们进行数(进)制转换: JS中可以直接使用16进制: var a = 0xff; //255 将任意进制字符串转换为十进制,如二进制,八进制,十六进制, 第二数数不写即为最常用的转换为整型十进制: 复制代码 代码如下: parseInt("11", 2); // 3 2进制转10进制 parseInt("77", 8); // 63 8进制转10进制 parseInt("af", 16); //1

C#中如何把二进制字符串转化为二进制

问题描述 比如把字符串"1001101"转化为二进制数1001101返回 解决方案 解决方案二:strings="1001101";byteb=Convert.ToByte(s,2);解决方案三:usingSystem;publicclassByteConversion{publicstaticvoidMain(){stringbyteString=null;CallTryParse(byteString);byteString=String.Empty;CallT