我正在寻找一种方法来比较两个在字典上等效但在字节级别不相同的 Java 字符串。
更准确地说,采用以下文件名“baaaé.png”,在字节级别它可以用两种不同的方式表示:
[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 ?