第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java Ascii 到字符串解密

Java Ascii 到字符串解密

明月笑刀無情 2021-09-26 17:03:37
我正在完成一個類的問題,該問題需要將字符串消息從帶有鍵的 ascii 轉(zhuǎn)換為解碼的字符串消息。我已經(jīng)嘗試從 message.charAt(i) 訪問字符串并將其轉(zhuǎn)換為 char 數(shù)組,但兩次我都在控制臺上得到了這個奇怪的輸出。這是我運行的方法public static char[] decrypt(String message) {    char[] decoded = new char[message.length()];    char[] newmessage = message.toCharArray();    int ascii;    for(int key=0; key<=100; key++) {        for(int i=0; i<message.length(); i++) {            ascii = ( (int)newmessage[i] + 127) - 32;            if(ascii > 126)                decoded[i] = (char)((int)newmessage[i] - key);            else                decoded[i] = (char)((((int)newmessage[i] - key) +127) -32);        }    }    System.out.println(decoded);    return decoded;}這是我在 main 中調(diào)用它的地方    System.out.println("Problem 3");    String message =  ":mmZ\\dxZmx]Zpgy";    System.out.println("Message Received: ");    System.out.println(message);    decrypt(message);我似乎無法弄清楚我哪里出錯了。預(yù)期的輸出是每個鍵都與相應(yīng)的解碼消息一起打印。第 88 個鍵將顯示消息“Attack at Dawn!”。
查看完整描述

4 回答

?
holdtom

TA貢獻1805條經(jīng)驗 獲得超10個贊

如果您需要的只是從 ASCII 解碼為 Java 字符串,那么正確的方法之一是

char [] output = StandardCharsets.US_ASCII.decode(ByteBuffer.wrap(input)).array();

根據(jù)您的性能要求,您可能希望預(yù)先分配緩沖區(qū),并且可能是解碼器(在上面的示例中 Charset::decode 將動態(tài)創(chuàng)建一個)。


查看完整回答
反對 回復(fù) 2021-09-26
?
Smart貓小萌

TA貢獻1911條經(jīng)驗 獲得超7個贊

好吧,首先你現(xiàn)在需要用Key 解碼消息,:mmZ\\dxZmx]Zpgy所以為了簡單的部分,嘗試先Hey用你制作的算法解碼消息,你忘記了最重要的部分:


if(originalChar + key > 126) then

     EncryptedChar = 32 + ((originalChar + key) - 127)

else

     EncryptedChar = (originalChar + key)

因此,您在 if 語句中缺少減號鍵


 if(ascii - key > 126)

總是去重新閱讀你的問題。


    for(int key=0; key<=100; key++) {

        for(int i=0; i<message.length(); i++) {

            ascii = ( (int)newmessage[i] + 127) - 32;

            if(ascii - key > 126)

                decoded[i] = (char)((int)newmessage[i] - key);

            else

                decoded[i] = (char)((((int)newmessage[i] - key) +127) -32);

        }

        System.out.println("Decoded with i=" +key +":"+new String(decoded)); // For check what is the correct message. 

    }

劇透 消息是:黎明時分攻擊!


查看完整回答
反對 回復(fù) 2021-09-26
  • 4 回答
  • 0 關(guān)注
  • 328 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號