Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果我想转换 UTF-16 BE <-> LE,我应该考虑什么?我可以把它们当作一个普通的 2 字节整数数组吗?或者我应该遵循一些特殊的 Unicode 算法来处理一些特殊情况?
您只需要对代码单元进行字节重新排序,从而获取两个字节,交换它们并将它们写回。这就是所有需要考虑的。
但是通常有一种简单的方法可以以一种编码读取流并以另一种编码将其写回。通常具有可忽略的性能缺陷(尤其是在 UTF-16 情况下)。因此,为了使您的代码更清晰,您可能应该选择这样的解决方案。但是,无论您是否准确地知道输入编码,这种简单的方法都应该起作用。