[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #52681] Bad reading for UTF-8 characters with

From: Dan Sebald
Subject: [Octave-bug-tracker] [bug #52681] Bad reading for UTF-8 characters with fscanf()
Date: Sun, 17 Dec 2017 15:44:53 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0

Follow-up Comment #5, bug #52681 (project octave):

The issue is mainly, I think, that reading data from a file always casts the
read quantity to the specified format.  Once past that, the goal seems more
achievable.  Here's the shortest amount of code

fid = fopen('p1.txt', 'r');
d = fread(fid, 'uint8');
cstr = char(d');
[header] = textscan(cstr, '%s', 3){1};
[pais capital poblacion] = deal(textscan (c, '%s%s%d', 'headerlines', 1){:});

and some longer amount of code:

fid = fopen('p1.txt', 'r');
d = fread(fid, 'uint8');
c = char(d');
[pais capital poblacion] = strread(c, '%s %s %s');
header = {pais{1} capital{1} poblacion{1}};
pais = pais(2:end);
capital = capital(2:end);
poblacion = cellfun('str2num', poblacion(2:end));

Note that the translation

c = native2unicode(d');

doesn't seem necessary.  I suppose the usefulness of the native2unicode()
comes in when it is something other than the Octave-assumed UTF-8.


Reply to this item at:


  Message sent via/by Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]