gpt4 book ai didi

java - 一种将字符解析为 Unicode 的函数在 Eclipse 中有效,但在 JDeveloper 中无效?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:30:57 25 4
gpt4 key购买 nike

我遇到了一个奇怪的问题。请看下面的代码:

public static String toUNICODE(String s) {
StringBuilder sb=new StringBuilder();
for(int i=0;i<s.length();i++) {
System.out.println(s.charAt(i));
if(s.charAt(i)<=256) {
sb.append("\\u00");
} else {
sb.append("\\u");
}
sb.append(Integer.toHexString(s.charAt(i)));
}
return sb.toString();
}

它正在将字符解析为 Unicode。它在 Eclipse 中运行良好。但是当我在 JDeveloper IDE 中测试它时,我得到了错误的结果。例如,在 Eclipse 中,当输入“我”时,我将得到 \u6211,这是正确的答案。而我将在 JDeveloper 中获得\u00e6\u2c6\u2018。

请赐教原因。

最佳答案

当您将 "我" (0xE6 0x88 0x91) 的 UTF-8 字节解释为 Windows-1252 时,您将得到 "æˆ'"

当您将 "æ^‘" 传递给您的函数时,结果为 \u00e6\u2c6\u2018。所以你在某个地方输入 UTF-8 但程序只是在 Windows-1252 中解释它。

您的问题中没有关于您如何进行输入或阅读的信息,但是一旦您添加了该信息,这应该很容易解决。

顺便说一句,您的函数在 0x100-0xFFF 范围内的代码点被破坏,而没有为这些代码点填充。以及超出 0xFFFF 的代码点。

关于java - 一种将字符解析为 Unicode 的函数在 Eclipse 中有效,但在 JDeveloper 中无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14027345/

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