首页 > 解决方案 > 如何使用 fscanf 读取 UTF-8 编码

问题描述

Octave 4.2.2ISO-8859-1使用命令读取字符fscanf(格式化为读取空格):

foo = fscanf(foofile1, "%*s %[^\n]");

fgetl读取本机UTF-8

foo = fgetl(foofile2);

这两个文件都显示为编码UTF-8

$ file -i foofile1.csv 
foofile1.csv: text/plain; charset=utf-8

$ file -i foofile2.html
foofile2.html: text/html; charset=utf-8

有什么方法可以读取格式的HTML文件吗?UTF-8fscanf

更新:正如@TS 所指出的,这已被报告为savannah.gnu.org中的一个错误。

标签: utf-8scanfoctaveiso-8859-1

解决方案


无需更改代码。UTF8 旨在与大多数不支持 UTF8 的单字节字符串函数(如上述)一起使用,只要您不必使用解码的代码点,例如将字符串打印到屏幕上。


推荐阅读