字符串到Java中的二进制输出
发布时间:2020-12-14 16:40:54 所属栏目:Java 来源:网络整理
导读:我想从一个字符串中获取二进制(011001 ..),但是我得到[B @ addbf1,必须有一个简单的转换,但我看不到它. public static String toBin(String info){ byte[] infoBin = null; try { infoBin = info.getBytes( "UTF-8" ); System.out.println("infoBin: "+infoB
我想从一个字符串中获取二进制(011001 ..),但是我得到[B @ addbf1,必须有一个简单的转换,但我看不到它.
public static String toBin(String info){ byte[] infoBin = null; try { infoBin = info.getBytes( "UTF-8" ); System.out.println("infoBin: "+infoBin); } catch (Exception e){ System.out.println(e.toString()); } return infoBin.toString(); } 在这里我得到infoBin:[B @ addbf1 任何帮助将不胜感激,谢谢! 解决方法
只有整数有一个方法来转换为二进制字符串表示检查这一点:
import java.io.UnsupportedEncodingException; public class TestBin { public static void main(String[] args) throws UnsupportedEncodingException { byte[] infoBin = null; infoBin = "this is plain text".getBytes("UTF-8"); for (byte b : infoBin) { System.out.println("c:" + (char) b + "-> " + Integer.toBinaryString(b)); } } } 将打印: c:t-> 1110100 c:h-> 1101000 c:i-> 1101001 c:s-> 1110011 c: -> 100000 c:i-> 1101001 c:s-> 1110011 c: -> 100000 c:p-> 1110000 c:l-> 1101100 c:a-> 1100001 c:i-> 1101001 c:n-> 1101110 c: -> 100000 c:t-> 1110100 c:e-> 1100101 c:x-> 1111000 c:t-> 1110100 填充: String bin = Integer.toBinaryString(b); if ( bin.length() < 8 ) bin = "0" + bin; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |