datファイルを読み込んでも文字化けが生じる

139 次查看(过去 30 天)
翔
2024-6-21
どのようなデータが何バイト以内で入っているのかが分かっているdatファイルがあります。
そのファイルをreadtableで読み込むと文字化けが生じてしましました。
datファイルを読み込むにおいて最適な方法とこの文字化けをなくす方法があれば教えていただけますでしょうか。

回答(1 个)

交感神経優位なあかべぇ
.datファイルにどのような形式のデータが入っているか分かりませんので.datの最適な読み込み方法は場合によります。
もしreadtableで読み取れるなら、文字エンコードをShift-JISで読み取るなど、エンコードタイプを指定すれば、文字化けを回避できるかもしれません。
% Shift-JISでサンプルファイル作成
sample = table(["テスト"; "Test"; "日本語"],'VariableNames', ["項目名"]);
writetable(sample,'sample.dat',"Encoding","Shift-JIS");
% Shift-JISでファイル読み取り
htable = readtable('sample.dat', 'Encoding', 'Shift-JIS', 'VariableNamingRule', 'preserve')
htable = 3x1 table
項目名 _________ {'テスト'} {'Test' } {'日本語'}
% 既定の設定でファイル読み取り
htable = readtable('sample.dat', 'VariableNamingRule', 'preserve')
htable = 3x1 table
□□□Ú□¼ ________ {'□e□X□g' } {'Test'} {'□ú□{□ê' }
  2 个评论
翔
2024-6-24,1:45
移动:Kojiro Saito 2024-6-25,9:36
早速のご対応ありがとうございます。
MATLABに対応しているエンコードタイプ全てを用いてエンコード変更をしたのですが、
文字化けが生じていしまう状況です。
この場合、読み取り方法以前にファイル側で何かしらの細工がされている可能性があるのでしょうか。
交感神経優位なあかべぇ
编辑:交感神経優位なあかべぇ 2024-6-25,10:29
その.datファイルはメモ帳などのテキストエディターで文字化けせずに開けるファイルでしょうか?
もし文字化けするようなファイルでしたらそれはreadtableの類で開けるファイルではなくなんらかのバイナリファイルだと予想します。
バイナリファイルの場合は、
fileID = fopen('〇〇.dat');
A = fread(fileID);
fclose(fileID);
で開くことは可能ですが、読み取ったデータを意味のあるデータに変換するには、そのファイルのデータ構造を十分理解していないといけないため、なかなか難しいのではと思います。

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!