【发布时间】:2015-05-06 18:16:23
【问题描述】:
是否可以在不首先解码为 UCS-4 的情况下在 UTF-8 和 UTF-16 之间进行转换,然后对生成的代码点进行编码,而不使用大型映射表?
【问题讨论】:
-
@CrApHeR 我要一个算法。 UTF-8 编码值也可以使用 4 个字节...
-
一般来说,如果你有需要的映射表,你可以直接将任何编码转换为任何编码。由于在每个单独的编码配对之间创建单独的映射表是指数级的并且几乎没有意义,因此正在使用一个标准中介。所以回答你的问题:是的,这是可能的。是否有人已经完成了必要的工作,这在某种程度上超出了 SO 的范围。
-
@CrApHeR:两者都是可变长度编码。位宽仅针对每个编码单元。
-
再说一次,我不知道是否有人真正完成了这方面的工作。在最坏的情况下,您可以将 UTF-16→UCS-4→UTF-8 位摆弄步骤作为一种算法实现,然后通过优化算法在数学上减少所需的步骤。
-
为什么要跳过中间表示?您是否正在尝试减少内存使用或提高速度?还有什么?
标签: algorithm language-agnostic utf