java empji后接字符串变成了倒序输出

public static void main(String[] args) {
    String name = " 伊̶宝̶贝̶\u202E̶\uD83C\uDF3A\uD83C\uDF80\uD83D\uDC52";
    System.out.println(name);
    String str = "123" + name;
    System.out.println(str);
    str = str + "4";
    System.out.println(str);
    str = str + "5";
    System.out.println(str);
    str = str + "6";
    System.out.println(str);
}

伊̶宝̶贝̶‮̶🌺🎀👒
123 伊̶宝̶贝̶‮̶🌺🎀👒
123 伊̶宝̶贝̶‮̶🌺🎀👒4
123 伊̶宝̶贝̶‮̶🌺🎀👒45
123 伊̶宝̶贝̶‮̶🌺🎀👒456

想问问为什么输出会倒序

该回答内容部分引用GPT,GPT_Pro更好的解决问题
这里所输出的倒序是因为使用的是字符串拼接的方式,比如在第4行,先将变量name和“123”拼接,得到“123coo命婴生-”,再将此时的str变量和”4“拼接,得到“123Gao4合昭六-”,以此类推,最后一次拼接得到“123Gan654会昭轧-”,由于字符串是从前往后拼接的,所以最后的字符串就会是倒序输出的。
如果回答有帮助,望采纳。

该回答引用ChatGPT
输出的倒序是因为在字符串name中使用了Unicode字符\u202E,它是一个控制字符,能够让文本从左到右的顺序变成从右到左的顺序。这个字符使得后面的字符都以相反的顺序输出。

在输出name时,\u202E使得它的右半部分的字符以相反的顺序输出,因此看起来它是从右往左排列的。在后面将name拼接到字符串str中时,由于name的右半部分是倒序的,所以最终输出的字符串也是倒序的。

如果你想保持字符串的正常顺序,可以将name中的\u202E字符删除。