java - 将数组字节转换为二进制

标签 java

请任何人都可以帮我将ascciiText转换为二进制,例如49有二进制00110001,48是00110010等等 这是我的代码

import java.lang.String;
import java.util.Scanner;
import java.lang.*;
import java.io.*;
import java.util.*;

public class encrption {

public static void main(String[] args){

     // INPUT: KeyText   (StrKey).
    // OUTPUT: Ciphertext (ConcatenatedData).
   //String ConcatenatedData; 


    // Read data from user.
    Scanner in = new Scanner(System.in);
    System.out.println("Enter Your PlainText");
    String StrValue = in.nextLine();
    System.out.println("Enter Your KeyText ");
    String StrKey = in.nextLine();

  // Print the Concatenated Data.

 String ConcatenatedData = StrKey.concat(StrValue);
       System.out.println("the Concatenated Data is :"+ConcatenatedData);

  // Convering the Concatenated data to Ascii data.

 try { 
  byte[] asciiText = ConcatenatedData.getBytes("US-ASCII");


    System.out.println(Arrays.toString(asciiText)); 

}

 catch (java.io.UnsupportedEncodingException e)
     { e.printStackTrace(); }

请任何人都可以帮我将一系列ascciiText转换为二进制,例如49有二进制00110001,48是00110010等等

Configuration: encrption - JDK version 1.8.0_40

输入您的纯文本 欢迎 输入您的关键字文本 123 连接数据为:123welcome [49、50、51、119、101、108、99、111、109、101]

流程已完成。

最佳答案

类似 @Paul 的解决方案,但以另一种方式编写。

String toBinary(byte b) {
    StringBuilder sb = new StringBuilder(8);

    for(int i = 7 ; i >= 0 ; i--)
        sb.append((char) ('0' + ((b >> i) & 1));

    return sb.toString();
}

关于java - 将数组字节转换为二进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32627923/

相关文章:

java - java中按键按下多长时间

java - 我可以使用哪种数据库技术来持久化对象? (不需要我负责将对象映射到表并返回的东西)?

java - 当 DefaultTableModel 已更改时在 JTable 上设置模型

java - 对于客户端/服务器拓扑来说,锁仍然是故障安全的吗?

java - 如何在bluemix中为微服务配置服务发现(用java编写)

java - 在 Android 上以编程方式添加和连接到非广播 Wifi 网络

Java - 类似控制台的 web applet

java - 非顺序索引集合

java - java中静态 block 内声明的变量的范围是什么?

java - Jtable1 header 提供给 Jtable2,具有排序和边距调整等属性