在C中读取文件为utf-8并迭代每个字符?

时间:2015-04-23 00:50:40

标签: c unicode

我如何在C中读取文件,然后迭代每个字符以便我可以评估它?例如,我会给出输入文件:5 ≠ 10,评估为5不等于10,并打印出false。现在我可以做评估部分,但我不确定如何在C中读取unicode字符。我问这个问题,因为我写了一个更大的词法分析器,我想要它支持unicode,但是我想在一个小规模的项目上试一试,看看它是怎么回事。

1 个答案:

答案 0 :(得分:2)

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

最终你需要:

  
      
  1. 可以区分utf-8字符边界的解析器。
  2.   
  3. 将编码为UTF-8的数据转换为Unicode代码点的转换程序。
  4.   
  5. 代码点的参考列表及其语义含义。
  6.   

Not Equal To签名是Unicode代码点U + 2260。其中UTF-8编码为0xE2 0x89 0xA0。

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