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

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

Answers (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 Comments
翔
on 24 Jun 2024
Moved: Kojiro Saito on 25 Jun 2024
早速のご対応ありがとうございます。
MATLABに対応しているエンコードタイプ全てを用いてエンコード変更をしたのですが、
文字化けが生じていしまう状況です。
この場合、読み取り方法以前にファイル側で何かしらの細工がされている可能性があるのでしょうか。
交感神経優位なあかべぇ
Edited: 交感神経優位なあかべぇ on 25 Jun 2024
その.datファイルはメモ帳などのテキストエディターで文字化けせずに開けるファイルでしょうか?
もし文字化けするようなファイルでしたらそれはreadtableの類で開けるファイルではなくなんらかのバイナリファイルだと予想します。
バイナリファイルの場合は、
fileID = fopen('〇〇.dat');
A = fread(fileID);
fclose(fileID);
で開くことは可能ですが、読み取ったデータを意味のあるデータに変換するには、そのファイルのデータ構造を十分理解していないといけないため、なかなか難しいのではと思います。

Sign in to comment.

Categories

Find more on ビッグ データの処理 in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!