Java中进行字符串类型转换为二进制数组

因为学完DES的c语言实现,需要进行DES的Java实现,看了网上很多有关进制转换的代码,都不符合我的想法,所以就自己重写了一下,以防以后代码丢失,小记一下。

复制代码
 1 import java.util.Scanner;
 2 /**
 3  * @author :cjc
 4  * @date : 2022/7/23
 5  */
 6 public class helloword {
 7     public static void main(String[] args) {
 8         int m[] = new int[64];
 9         Scanner in = new Scanner(System.in);
10         System.out.print("请输入16进制的明文:");
11         String kk = new String();
12         kk = in.next();
13         int len = kk.length();
14         while (len != 16) {
15             System.out.print("请重新输入16进制的明文:");
16             kk = new String();
17             kk = in.next();
18             len = kk.length();
19         }
20         char[] kk1 = kk.toCharArray();
21         int j = 0;
22         for (int i = 0; i < 16; i++) {
23             int a;
24             if (kk1[i] >= '0' && kk1[i] <= '9')
25                 a = kk1[i] - '0';
26             else
27                 a = kk1[i] - 'a' + 10;
28             int n[] = new int[4];
29             int f = 0;
30             while (a != 0) {
31                 n[f] = a % 2;
32                 a = a / 2;
33                 f++;
34             }
35             m[j * 4] = n[3];
36             m[j * 4 + 1] = n[2];
37             m[j * 4 + 2] = n[1];
38             m[j * 4 + 3] = n[0];
39             j++;
40         }
41         System.out.print("二进制为:");
42         for (int i = 0; i < 64; i++) {
43             if (i % 64 == 0) System.out.println();
44             System.out.print(m[i]);
45             
46         }
47     }
48 }
复制代码

 

posted @   C++小白白  阅读(228)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示