我正在努力国际化我的一个工作计划.我试图用远见来避免可能出现的问题或者重新制定这个过程.
我看到UTF-8,UTF-16和UTF-32的引用.我的问题是两部分:
> UTF-8不支持哪些语言?
UTF-16和UTF-32在UTF-8上有什么优势?
如果UTF-8适用于所有内容,那么我很好奇UTF-16和UTF-32的优点是什么(例如数据库中的特殊搜索功能等)了解应该有助于我完成设计我的程序(和数据库连接)正确谢谢!
解决方法
所有这三个只是代表同一件事情的不同方法,所以没有一个而不是另一个支持的语言.
有时UTF-16由您需要互操作的系统使用,例如Windows API本身使用UTF-16.
理论上,UTF-32可以在单个32位整数中表示任何“字符”,而不需要使用多个,而UTF-8和UTF-16需要使用多个8位或16位整数要做到这一点.但在实践中,通过组合和非组合的一些代码点的变体,这不是真的.
UTF-8优于其他的一个优点是,如果您有一个错误,您假设分别为8位,16位或32位整数的数量与代码点数相同,则变得更加明显与UTF-8 – 一旦你有任何非ASCII码点,那么有一些东西会失败,而使用UTF-16的bug就不会被忽视.
要回答您的第一个问题,以下是目前Unicode不支持的脚本列表:http://www.unicode.org/standard/unsupported.html