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

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

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 ビッグ データの処理에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!