Jam*_*vec 13 c++builder utf-8 utf-16 internationalization utf
我正在努力国际化我的一个工作计划.我正在尝试使用远见以避免可能的问题或重做过程.
我看到了UTF-8,UTF-16和UTF-32的参考文献.我的问题是两部分:
如果UTF-8适用于所有内容,那么我很好奇UTF-16和UTF-32的优点是什么(例如数据库中的特殊搜索功能等)理解应该帮助我完成我的程序设计(和数据库连接) )妥善.谢谢!
Ric*_*dle 13
这三种方式只是表达同一事物的不同方式,因此没有一种语言支持,而不支持另一种语言.
有时,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时,这个错误就会被忽视.
要回答您的第一个问题,这里是Unicode目前不支持的脚本列表:http://www.unicode.org/standard/unsupported.html
UTF8可变1到4个字节,UTF16 2或4个字节,UTF32固定4个字节.
这就是为什么UTF-8有一个优势,其中ASCII是最普遍的字符,UTF-16在ASCII不占优势的地方更好,UTF-32将覆盖4字节中的所有可能字符.
| 归档时间: |
|
| 查看次数: |
13147 次 |
| 最近记录: |