我需要在两个方向上转换字符(例如'α'
)及其完整Unicode名称(例如"GREEK SMALL LETTER ALPHA"
)的函数。
我提出的解决方案是在线提供的官方Unicode标准中执行查找:http://www.unicode.org/Public/6.2.0/ucd/UnicodeData.txt,或者更确切地说,在其缓存的本地副本中,可能事先将其转换为合适的集合以提高查找性能)。
有没有更简单的方法来进行这些转换? 我更喜欢C#中的解决方案,但也欢迎其他语言的解决方案适用于C#/ .NET。谢谢!
答案 0 :(得分:0)
如果你不想在内存中保留unicode名称表,只需准备一个文本文件,其中unicode值的偏移乘以max unicode length name将指向unicode name。对于最大4个字节的长度,它不会超过几兆字节。如果你希望有更紧凑的实现,那么将文件中的偏移地址分组到unicode值索引的文件开头的unicode名称,然后享受更紧凑的名称表。但你必须准备这样的文件虽然并不困难。