gpt4 book ai didi

java - 将扩展ascii字符转换为java中的代码

转载 作者:行者123 更新时间:2023-11-30 02:22:01 26 4
gpt4 key购买 nike

我无法将扩展 ASCII 字符(代码大于 128)转换为其代码。

我正在使用 (int)'�' 进行转换,但它给出了

�-- 65533

我正在使用以下java函数:

            static String decodeCandidateId2(String CandidateId ){     

byte[] valueDecoded= Base64.decodeBase64(CandidateId.getBytes());
CandidateId=new String(valueDecoded);
String key="@!#&%$#@&^%$";
String output="";

for(int i=0; i<CandidateId.length(); i++) {
int ascii=0;
ascii=(int)CandidateId.charAt(i)-((int)key.charAt((i-1) % key.length()));

output += Character.toString ((char) ascii);
}
return output;
}

如果 CandidateId = "VXJaWl9lVlV0XpRbZHVZWFpeXVuAV5NVW3BRW19XVQ=="当前输出 = 12979@2248゚6@5854998ᄑ1゚07008921,但我需要获得 12979@224866@5854998@1507008921 作为输出。

谁能帮我获取正确的代码。

最佳答案

严格来说,不存在“扩展 ASCII”这样的东西 - 或者这个非标准术语有几种不同的口语定义。 ASCII 代码是从 0 到 127。句号。

Java 类型 char 的值范围为 0 到 65535,它们是 Unicode 字符集基本多语言平面中的代码点

您的编码算法使用 16 位减法。 “负”值的范围是 32768 到 65535(因为 char 值是无符号的)。但是,您似乎只想处理 0 到 255 范围内的值。为此,您可以强制算术以 256 为模 - 例如将结果与 0xFF 进行“与”运算。

关于java - 将扩展ascii字符转换为java中的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46539734/

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