gpt4 book ai didi

java - 如何获取用户输入(来自扫描仪)并将整个输入转换为 ascii

转载 作者:太空宇宙 更新时间:2023-11-04 12:47:26 24 4
gpt4 key购买 nike

我正在执行一个小型 java RSA 加密任务,但我发现自己陷入了困境。

我目前正在使用一个字符串生成器,它接受用户输入并将其全部转换为 ascii,但它只是给出了精确的字符 (a = 97),以便将 ascii 加密为可读的内容,它需要输出这样的所有字符 (a = 097)。

知道如何解决这个问题或者有更好的解决方案吗?

 String Secret;

Scanner input = new Scanner(System.in); //opens a scanner, keyboard
System.out.println("Please Enter what you want to encrypt: "); //prompt the user
Secret = input.next(); //store the input from the user

String str = Secret; // or anything else

StringBuilder sb = new StringBuilder();// do 1 character at a time. / convert each to ascii one at a time and then, have each2 values equate to 11 digit or "value"
for (char c : str.toCharArray( ))
sb.append((byte)c);// bit array could be easier as this could make it difficult to decrypt

BigInteger m = new BigInteger(sb.toString());

System.out.println(m);

最佳答案

您正在寻找的是打印一个带有前导零的整数的格式化字符串

您需要使用 System.out.format 而不是 println。 format 是具有以下签名的方法

public PrintStream format(Locale l, String format, Object... args)

或者,使用 JDK 默认区域设置

public PrintStream format(String format, Object... args)

所以你可以写这样的东西:

int a = 97;
System.out.format("%03d%n",a); // --> "097"

但你也可以使用C风格 printf 方法

 System.out.printf("%03d\n",a);   //  -->  "097"

这或多或少与以下内容相同:

String aWithLeadingZeros =String.format("%03d",a); 
System.out.println(aWithLeadingZeros); // --> "097"

这是如何将每个 ASCII 代码格式化为带前导零的 3 位数字字符串,并将所有字符串添加到 StringBuffer

String secret = "hello world!"; // or anything else B)
StringBuilder sb = new StringBuilder();
for (char c : secret.toCharArray()) {
// int casting wrap the char value 'c' to the corresponding ASCII code
sb.append(String.format("%03d",(int)c));
}
System.out.println(sb); // -> 104101108108111032119111114108100033
// 'H' is 104, 'e' is 101, 'l' is 108, and so on..

关于java - 如何获取用户输入(来自扫描仪)并将整个输入转换为 ascii,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36175004/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com