簡體   English   中英

如何將字符串轉換為java中的位流

[英]How to convert a string to a stream of bits in java

如何將一個字符串轉換為一個比特流0和一個我所做的我接受一個字符串,然后將其轉換為一個char數組然后我使用了一個名為forDigit(char,int)的方法,但它沒有給我一個字符作為一個0和1的流可以幫助你。 我怎么能從反轉到焦炭。 請求給我一個樣本

如果你采取兩個步驟,它是最簡單的。 String支持從String轉換為/ from byte [],BigInteger可以將byte []轉換為二進制文本並返回。

String text = "Hello World!";
System.out.println("Text: "+text);

String binary = new BigInteger(text.getBytes()).toString(2);
System.out.println("As binary: "+binary);

String text2 = new String(new BigInteger(binary, 2).toByteArray());
System.out.println("As text: "+text2);

打印

Text: Hello World!
As binary: 10010000110010101101100011011000110111100100000010101110110111101110010011011000110010000100001
As text: Hello World!

我試過這個..

public String toBinaryString(String s) {

    char[] cArray=s.toCharArray();

    StringBuilder sb=new StringBuilder();

    for(char c:cArray)
    {
        String cBinaryString=Integer.toBinaryString((int)c);
        sb.append(cBinaryString);
    }

    return sb.toString();
}
String strToConvert = "abc";
byte [] bytes = strToConvert.getBytes();
StringBuilder bits = new StringBuilder(bytes.length * 8); 
System.err.println(strToConvert + " contains " + bytes.length +" number of bytes");
for(byte b:bytes) {
  bits.append(Integer.toString(b, 2));
}   

System.err.println(bits);
char [] chars = new char[bits.length()];
bits.getChars(0, bits.length(), chars, chars.length);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM