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

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

回答 (1 件)

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

サインインしてコメントする。

カテゴリ

Help Center および File Exchangeビッグ データの処理 についてさらに検索

Community Treasure Hunt

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

Start Hunting!