2byte 文字を認識する

6 ビュー (過去 30 日間)
fumio hakamada
fumio hakamada 2020 年 7 月 6 日
回答済み: michio 2020 年 7 月 7 日
下の例で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
%}

採用された回答

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

タグ

製品


リリース

R2020a

Community Treasure Hunt

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

Start Hunting!