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 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构