字符串和二进制及二进制和字符串之间的相互转换
2012-11-29 00:00
197 查看
public class B{ /** * 字符串与比特流, 比特流与字符串之间的相互转换 * 输入一个字符串,使用String的getBytes()方法获得字节数组,使用Integer的toBinaryString()方法 * 将字节数组转换成比特流 * 从比特流构造字符串则相反,将比特流分割成7个字符的片段,然后通过Integer的valueOf()方法用二进制进行 * 分析后得到十进制表示的Integer,再用byteValue()方法转换成字节码并构造字节数组,最后通过String的构 * 造方法构造字符串即可 */ public static void main(String[] args){ String s="opiujkluiop"; //用StringBuffer来存储一长串的字符串转换成的比特流 StringBuffer sb = new StringBuffer(); String s1 = ""; //获得字符串的字节码数组 byte[] b = s.getBytes(); int j = 1; for(int i=0; i<b.length; i++){ //将字节数组转换成二进制 s1 =Integer.toBinaryString(b[i]); System.out.println(j+"-----"+s1); //将二进制字符串存储到StringBuffer中 sb.append(s1); j++; } System.out.println(sb); getString(sb); } //用存储二进制字符的StringBuffer长生字符串 public static void getString(StringBuffer sb){ //获得一串二进制字符 StringBuffer buffer = sb; String s =""; //构造的字节数组长度仅为二进制字符流长度的1/7,否则空的字节数组部分会长生不必要的字符 byte[] b = new byte[buffer.length()/7]; int j=0, k=0; //将二进制字符流七个一组地进行分割 for(int i=0; i<buffer.length(); i+=7){ j=i+7; System.out.println(buffer.substring(i, j)); //用七个二进制字符构造一个字节并保存到字节数组中 b[k++]=Integer.valueOf(buffer.substring(i, j), 2).byteValue(); } //构造字符串并进行输出。 System.out.println(new String(b)); } }
相关文章推荐
- PHP二进制与字符串之间的相互转换教程
- Object-c 普通字符串、二进制、十进制、十六进制之间的相互转换
- Java中二进制和字符串之间的相互转换
- PHP二进制与字符串之间的相互转换
- PHP二进制与字符串之间的相互转换
- C#二进制与字符串之间的相互转换
- PHP二进制与字符串之间的相互转换教程
- C#二进制与字符串之间的相互转换
- 浅谈二进制、十进制、十六进制、字符串之间的相互转换
- java网络图片与二进制字符串相互转换
- Java 二进制,八进制,十进制,十六进制之间的相互转换
- Jackson第一篇【JSON字符串、实体之间的相互转换】
- php源码之字符串与二进制相互转换
- 关于数据和字符串之间相互转换的说明
- JSON对象和字符串之间的相互转换
- 利用Gson使json字符串与java bean/list/map之间的相互转换
- 字符串字符显示与16进制显示之间的相互转换
- 在JAVA中日期和字符串之间的相互转换
- Java 字符串与Unicode之间的相互转换
- oracle中日期,数字,字符串之间的相互转换