gpt4 book ai didi

java - 解码编码文本

转载 作者:行者123 更新时间:2023-12-01 07:46:49 26 4
gpt4 key购买 nike

我有以下逻辑来编码文本,但是当我尝试解码它时,我没有得到预期的结果:

private static String encodeText(String input) {
StringBuilder builder = new StringBuilder();
for (int i = 0; i < input.length(); i++) {
char c = input.charAt(i);
int d = (int) c;
d = d*2 + i;
builder.append((char)d);
}
return builder.reverse().toString();
}

这是我的解码逻辑,我只是​​尝试反转编码逻辑来解码文本:

private static String decode(String input) {
StringBuilder b = new StringBuilder();

for (int i = input.length() - 1; i >= 0; i--) {
char c = input.charAt(i);
int data = (int)c;
data = data - i;
data = (data)/2;
b.append((char)data);
}
return b.toString();
}

如果我对文本 hello 进行编码,则编码值是 âÛÚËÐ,当我尝试对其进行解码时,我将其获取为 fdlmq

这个逻辑问题出在哪里,你能帮我吗?

最佳答案

因为对字符进行编码后,您反转了字符串

return builder.reverse().toString();

您需要将减去的整数更改为

data = data - (size - i - 1);

其中size是字符串的长度(input.length())

关于java - 解码编码文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50268602/

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