我必须读取一个采用 UTF-8 编码的 Unicode 文本文件,并将此数据写入另一个文本文件。该文件包含以制表符分隔的行数据。
我的阅读代码是不支持 unicode 的 C++ 代码。我正在做的是在 string/char*
中逐行读取文件并将该字符串按原样放入目标文件。我无法更改代码,因此不欢迎提出代码更改建议。
我想知道的是,在逐行阅读时,我能否在一行中遇到 NULL 终止字符 ('\0'),因为它是 unicode 并且一个字符可以跨越多个字节。
我的想法是,很有可能在一行中遇到 NULL 终止字符。你的想法?
最佳答案
UTF-8 对所有 ASCII 字符使用 1 个字节,这些字符与标准 ASCII 编码具有相同的代码值,其他字符最多使用 4 个字节。每个字节的高位保留为控制位。对于使用超过 1 个字节的代码点,设置控制位。
因此你的 UTF-8 文件中不能有 0 个字符。
关于c++ - 通过非 unicode 代码读取 UTF-8 Unicode 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1204697/