2byte 文字を認識する

12 vues (au cours des 30 derniers jours)
fumio hakamada
fumio hakamada le 6 Juil 2020
Réponse apportée : michio le 7 Juil 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
%}

Réponse acceptée

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

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB 入門 dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!