这是家庭作业。我不是在寻找代码只是讨论,关于如何进行的高级建议。
我目前正在处理一项任务,我们将文件中的 UTF-16 字符转换为输出文件中的 UTF-32,反之亦然。作业说,第一步是处理仅包含小于 10 位字符的文件,但我很难过。这是我们的第一个任务,虽然我使用过 C++,但从未真正使用过 C。
我一直在阅读有关此类转换的 RFC (S.2.1),我觉得我非常了解它。我知道 UTF-32 字符实际上是 10 位,前面是 6 位定义它的组成(我相信 110110 表示第一对 16 位,110111 表示第二对“32”)。UTF-16 字符是否以 6 个前导 0 开头?
还是 UTF-16 字符小于 10 位,一旦你遇到 10 位字符,你就知道你遇到了 UTF-32 位字符?
我想我真正的问题是当它可以是 8、16 等时,“10 位字符”是什么意思。但是对我提到的任何内容的任何见解都会很棒!