C# 如何将字符转换为其完整的Unicode名称?
我需要函数在字符(例如,C# 如何将字符转换为其完整的Unicode名称?,c#,.net,string,unicode,C#,.net,String,Unicode,我需要函数在字符(例如,“α”)和它的Unicode全名(例如)之间进行双向转换 我提出的解决方案是在在线提供的官方Unicode标准中执行查找:或者,更确切地说,在其缓存的本地副本中,可能事先转换为适当的集合以提高查找性能) 有没有更简单的方法来进行这些转换? 我更喜欢C#语言的解决方案,但也欢迎使用其他可以适应C#/.NET语言的解决方案。谢谢 如果不想在内存中保留unicode名称表,只需准备文本文件,其中unicode值的偏移量乘以最大unicode长度名称将指向unicode名称。对于
“α”
)和它的Unicode全名(例如)之间进行双向转换
我提出的解决方案是在在线提供的官方Unicode标准中执行查找:或者,更确切地说,在其缓存的本地副本中,可能事先转换为适当的集合以提高查找性能)
有没有更简单的方法来进行这些转换?
我更喜欢C#语言的解决方案,但也欢迎使用其他可以适应C#/.NET语言的解决方案。谢谢 如果不想在内存中保留unicode名称表,只需准备文本文件,其中unicode值的偏移量乘以最大unicode长度名称将指向unicode名称。对于最大4字节的长度,它不会超过几兆字节。若您希望有更紧凑的实现,那个么将文件中的偏移地址分组为unicode名称,在文件的开头按unicode值索引,然后使用更紧凑的名称表。但是你必须准备这样的文件,尽管这并不困难。老实说,你的解决方案对我来说听起来很好。文件格式看起来相当简单,我认为框架中没有任何其他内容。您指向的链接与前100万个链接类似,应该很容易放入字典中。该字符应该是唯一的,因此可以将其用作字典中的键。至于描述-如果它是唯一的,可以包括第二个反向字典以提高速度,但这将使内存加倍。@bum“只像第一个一百万”(更准确地说是1114109)是所有这些。要求是双向的。是的,你在写,我们可以制作另一个文件,其标记等于unicode名称的哈希值:-)。虽然问题注释中引用的解决方案使用现成的字典库,当然这比从头开始制作自行车要好。但我总是喜欢数据结构设计的艺术。