12

我需要在两个方向上在字符(例如'α')和它的完整 Unicode 名称(例如)之间转换的函数。"GREEK SMALL LETTER ALPHA"

我想出的解决方案是在网上提供的官方 Unicode 标准中执行查找:http ://www.unicode.org/Public/6.2.0/ucd/UnicodeData.txt ,或者更确切地说,在其缓存的本地副本中,可能会事先转换为合适的集合以提高查找性能)。

有没有更简单的方法来进行这些转换?我更喜欢 C# 中的解决方案,但也欢迎使用其他可以适应 C# / .NET 的语言的解决方案。谢谢!

4

1 回答 1

0

如果您不想将 unicode 名称表保留在内存中,只需准备文本文件,其中 unicode 值的偏移量乘以最大 unicode 长度名称将指向 unicode 名称。对于最大 4 字节长度,它不会超过几兆字节。如果您希望实现更紧凑的实现,则将文件中的偏移地址分组到由 unicode 值索引的文件开头的 unicode 名称,然后享受更紧凑的名称表。但是你必须准备这样的文件,虽然这并不难。

于 2013-06-25T19:19:04.970 回答