【发布时间】:2013-10-18 16:04:23
【问题描述】:
提前感谢您的耐心等待。这是我的问题。 我正在用 Java 编写一个程序,该程序最适合使用大量不同的字符。 我必须将所有字符存储在一个字符串中。我从 私有静态最终字符串值=“0123456789”; 然后我添加了 A-Z、a-z 和所有公共符号。 但它们仍然太少,所以我认为 Unicode 可能是解决方案。
现在的问题是:获取可以在 Eclipse 中显示的所有 unicode 字符的最佳方法是什么(如果存在无法识别的字符,我的算法可能会失败 - 那些显示为小矩形的字符)。是否可以构建一个字符串(或一些字符串),并正确显示此处存在的所有字符(en.wikipedia.org/wiki/List_of_Unicode_characters)?
我可以从http://www.terena.org/activities/multiling/euroml/tests/test-ucspages1ucs.html 或http://zenoplex.jp/tools/unicoderange_generator.html 进行粗略的复制粘贴,但我希望有一些更清洁的解决方案。 我不知道是否有一种方法可以从字体(Unifont 字体)中提取字符。或者也许我应该解析这个(www.utf8-chartable.de/unicode-utf8-table.pl)网页。
此外,通过将所有字符添加到字符串中,我可能会收到错误: “该类型生成一个需要超过 65535 个字节才能在常量池中以 Utf8 格式编码的字符串”(在此问题中讨论 SO:/questions/10798769/how-to-process-a-string-with-823237-characters )。
可以接受混合解决方案。我可以在 SO questions/4989091/removing-duplicates-from-a-string-in-java 上的这个问题之后删除重复项)
最后:每个获得最长唯一不同字符字符串的解决方案都被接受。 谢谢!
【问题讨论】:
-
"那些像小矩形一样显示的" - 取决于字体或文件格式。一些符号需要特定的字体,而另一些则需要文件格式。
-
我正在尝试一个大的基础转换。