从java中的ascii序列获取String序列

时间:2017-12-09 15:35:30

标签: java

我正在尝试为RSA加密创建一个java项目,但是在将长ASCII序列转换为String序列时遇到问题,最后一部分是在加密中获取plainText。

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
    String hj = w2.getText();
    String longue;
    BigInteger rg, tfd;
    String gh = "";
    String e = "", rtyu = "", hjk = "";
    longue = String.valueOf(h);
    int kl = longue.length();
    int jh = hj.length();
    int nb = jh / (kl);
    int gc = jh - (kl) * nb;
    for (int uy = 0; uy < nb; uy++) {
        rg = new BigInteger(hj.substring((uy * (kl)), ((uy + 1) * ((kl)))));
        tfd = new BigInteger(String.valueOf(rg.modPow(des, h)));

        e+= String.valueOf(tfd);
    }
    jTextArea1.setText(e);
    byte[] byt;
    byt = e.getBytes();

...     }

我想知道在将e转换为字符值后我能做些什么?

示例:我想将此ASCII序列656667转换为字符以获取值“ABC”,

1 个答案:

答案 0 :(得分:0)

假设输入格式正确,这个java 8解决方案将适合您:

String unconverted = "656667";

String converted = IntStream.range(0, unconverted.length() / 2)
    .map(i -> Integer.parseInt(unconverted.substring(i * 2, (i * 2) + 2)))
    .collect(
        StringBuilder::new,
        StringBuilder::appendCodePoint,
        StringBuilder::append)
    .toString();