ダブルエンコーディングと呼ばれるものがあります。
正しく指摘した3文字のシーケンス「你好吗」がUTF-8でE4BDA0E5A5BDE59097としてエンコードされています。
しかし今、UTF-8でそのエンコーディングの各バイトのエンコーディングを開始します。E4から始めます。UTF-8のそのコードポイントは何ですか?それを試してみてください!C3 A4です!
あなたはアイデアを得る....:-)
これを説明するJavaアプリは次のとおりです。
public class DoubleEncoding {
public static void main(String[] args) throws Exception {
byte[] encoding1 = "你好吗".getBytes("UTF-8");
String string1 = new String(encoding1, "ISO8859-1");
for (byte b : encoding1) {
System.out.printf("%2x ", b);
}
System.out.println();
byte[] encoding2 = string1.getBytes("UTF-8");
for (byte b : encoding2) {
System.out.printf("%2x ", b);
}
System.out.println();
}
}