当前位置: 首页 > 面试题库 >

Java字符串中的不可见字符

督灿
2023-03-14
问题内容
String a = "Hello\u200e";
String b = "Hello\u200f";

System.out.println("a = '" + a + "' and b = '" + b + "' are length "
                     + a.length() + " and " + b.length()
                     + ", equals() is " + a.equals(b));

上面的代码片段中的代码产生以下输出。

a =’Hello’和b =’Hello’的长度分别为6和6,equals()为false

虽然两者的价值a,并b控制台上显示的是Hello‏a.equals(b)回报false。怎么样?


问题答案:

U+200EU+200F
不是 可打印字符。它们都是控制字符,它们决定了文本应如何呈现-从左到右或从右到左。

您不会在终端中看到它们,并且它们不应该是等效的字符串。

0x200E ^ 0x200F != 0



 类似资料:
  • 如何在Java字符串中找到最后一个可见字符?我想从Java字符串中删除所有换行符和其他不可见字符 你好,托德

  • 本文向大家介绍Java中的不可变字符串,包括了Java中的不可变字符串的使用技巧和注意事项,需要的朋友参考一下 在Java中,不可变对象是指那些不能更改或修改(一旦修改)数据的对象。字符串类是不可变的,即一旦我们创建了一个字符串对象,就无法修改其数据。

  • 有隐形字符吗?我在Google上查看了隐形字符,最终得到了许多答案,但我不确定这些答案。Stack Overflow上的人能告诉我更多关于这方面的信息吗? 我还检查了脸书的个人资料,发现这个用户的个人资料上没有任何名字?这怎么可能?是数据库的问题吗?黑客之类的? 当我在网上搜索时,我发现< code>200D是一个带有隐形字符的ASCII值。是真的吗?

  • 本文向大家介绍在Python程序中串接不常见字符的字符串,包括了在Python程序中串接不常见字符的字符串的使用技巧和注意事项,需要的朋友参考一下 我们给出了两个字符串,我们的目标是从两个字符串中获得一个具有唯一字符的新字符串。假设,如果我们有两个字符串hafeez和kareem,那么将从这两个字符串生成的新字符串是hfzkrm。我们的目标是从两个字符串中获得不同的字符。在执行我的步骤之前,请先考

  • 据我所知, 可变字符串可以更改,不可变字符串不能更改。 这里我想这样改变字符串的值, 另一种方法是, 在这两种情况下,我都试图改变str的值。谁能告诉我,这两种情况的区别是什么,让我清楚地了解可变和不可变对象。

  • 问题内容: 我需要将一些不可打印的字符添加到java中的字符串中,以便可以沿tcp管道发送它。字符对我正在使用的协议表示某种含义(分别记录分隔符和消息结尾) 最好的方法是什么? 理想情况下,我希望将它们称为常量,以便可以在需要的地方使用字符串conconanation / stringbuilder / string.format将其添加,而不必键入它们。 出于好奇,我需要的字符是ASCIIx1E