4 回答

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)建一個)。

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.
}
劇透 消息是:黎明時分攻擊!
添加回答
舉報