Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将字符转换为其完整的Unicode名称?_C#_.net_String_Unicode - Fatal编程技术网

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名称的哈希值:-)。虽然问题注释中引用的解决方案使用现成的字典库,当然这比从头开始制作自行车要好。但我总是喜欢数据结构设计的艺术。