以 utf-8 格式读取 C 中的文件并遍历每个字符?

Reading a file in C as utf-8 and iterating through each character?

我将如何使用 C 语言读取文件,然后遍历每个字符以便对其求值?因此,例如,我将给出输入文件:5 ≠ 10,将其评估为 5 不等于 10,然后打印出 false。现在我可以做评估部分,但我不确定如何在 C 中读取 unicode 字符。我问这个问题,因为我写了一个更大的词法分析器,我想让它支持 unicode,但是我想要在较小规模的项目中尝试一下,看看效果如何。

UTF-8 是 Unicode 的一种编码格式。您真正感兴趣的是解析文本并分离出每个字节。然后需要计算Unicode码位来确定字符。

最终你需要:

  1. A parser that can distinguish utf-8 character boundaries.
  2. A translator to convert the data encoded as UTF-8 into a Unicode code point.
  3. And a reference list of code points and their semantic meanings.

不等于符号是 Unicode 代码点 U+2260。在 UTF-8 中编码为 0xE2 0x89 0xA0.

编辑:您应该使用一个库来解析 UTF-8 文本。您应该关注的是找到与您的应用程序相关的代码点,并在您的应用程序中解释它们的含义。