2byte 文字を認識する

8 views (last 30 days)
fumio hakamada
fumio hakamada on 6 Jul 2020
Answered: michio on 7 Jul 2020
下の例でq2.txt2行目には空白の2バイト文字が間違って入っています。
str2numではこれを無視するようです。データの2行目は無視されます。警告も出しません。
データに2バイト文字が含まれることを認識して警告を出す方法はありますか?
%e81.m
fileID = fopen('q2.txt');
c = [];
while(1)
tline = fgetl(fileID);
if tline<0 break; end
b = str2num(tline);
c = [c,b];
if isempty(tline) fprintf(" blank line\n"); % advised
else fprintf("line=<%s>\n",tline); end
end
fclose(fileID);
c
%{
%q2.txt
1 1
2  2
3 3 3
4
5
%}

Accepted Answer

michio
michio on 7 Jul 2020
b = unicode2native(tline);
length(b)
と unicode2native 関数を使った後の b の配列長さ(length(b) )で判別できるかもしれません。
いかがでしょうか。

More Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!