hip*_*ail 6 c algorithm utf-8 utf-16 unicode-string
我已经看到一些非常聪明的代码用于在Unicode代码点和UTF-8之间进行转换,所以我想知道是否有人(或者会喜欢设计)这个.
具体来说,我想知道是否有快捷方式可以在不完全将UTF-8序列转换为代码点的情况下知道何时需要代理对.
我见过的最好的UTF-8代码点代码使用了矢量化技术,所以我想知道这是否也可以.
效率始终是速度与尺寸的权衡.如果速度比尺寸更受青睐,那么最有效的方法就是根据源字符串的长度进行猜测.
有4种情况需要考虑,只需将最坏情况作为最终缓冲区大小:
更糟糕的情况扩展因子是将U + 0000-U + 007f从utf8转换为utf16时:缓冲区(字节方式)只需要是源字符串的两倍.当编码为utf16为utf8时,每个其他unicode代码点都会产生相同的大小或更小的字节分配.