奇妙な問題に遭遇しました。以下のコードを参照してください。
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 を取得します。
理由を教えてください。