我最近制作了一个基于文档的程序。 但令我感到兴奋的是,编译器(在我的情况下,objective-c)如何快速地将任何字符转换为Unicode,而这些字符只是视觉呈现。
我想也许A~Z和所有其他常见字符可以很容易地从ASCII转换为Unicode。那么其他特殊角色如品牌图标和版权图标呢?
我对这种转换的内部工作完全感兴趣。
实施例: 编译器如何理解“©”是什么?是通过查找UNICODE表吗?但如果我有1000000“©”,我的编译器会在表中查找1000000次吗?那是非常耗时的,不是吗?
答案 0 :(得分:4)
编译器没有看到“©”。它看到“©”的任何数字表示都出现在它正在处理的源文件中。不需要查找,因为它已经是编译器使用的形式。 (例如,如果源文件是UTF-8且编译器在内部使用UTF-32,则可能需要进行一些转换,但此类转换不需要完整的Unicode表。)