辞書編集的に同等であるがバイトレベルでは同一ではない 2 つの Java 文字列を比較する方法を探しています。
より正確には、次のファイル名「baaaé.png」を取得します。バイト レベルでは、2 つの異なる方法で表すことができます。
[98, 97, 97, 97, -61, -87 , 46, 112, 110, 103] --> "é" は 2 バイトでエンコードされます
[98, 97, 97, 97, 101, -52, -127 , 46, 112, 110, 103] --> "é" は 3 バイトでエンコードされます
byte[] ch = {98, 97, 97, 97, -61, -87, 46, 112, 110, 103};
byte[] ff = {98, 97, 97, 97, 101, -52, -127, 46, 112, 110, 103};
String st = new String(ch,"UTF-8");
String st2 = new String(ff,"UTF-8");
System.out.println(st);
System.out.println(st2);
System.out.println(st.equals(st2));
次の出力が生成されます。
baaaé.png
baaaé.png
false
equals メソッドが true を返すように比較する方法はありますか?