4 回答
TA贡献1805条经验 获得超10个赞
如果您需要的只是从 ASCII 解码为 Java 字符串,那么正确的方法之一是
char [] output = StandardCharsets.US_ASCII.decode(ByteBuffer.wrap(input)).array();
根据您的性能要求,您可能希望预先分配缓冲区,并且可能是解码器(在上面的示例中 Charset::decode 将动态创建一个)。
TA贡献1911条经验 获得超7个赞
好吧,首先你现在需要用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.
}
剧透 消息是:黎明时分攻击!
添加回答
举报