Level 5 MAT-files Formatに準拠して作成した.matファイルがMATLABのバージョンが変わるとロードできなくなるのですが、.matファイルのロードに関する仕様変更はありましたでしょうか?
3 ビュー (過去 30 日間)
古いコメントを表示
外部アプリケーションでLevel 5 MAT-files Formatに則ってファイルを作成しています。発生している現象としては、データチャンクのMAT-File Data TypeにmiUTF8を指定してUTF-8でエンコードされたテキストデータを格納して作成した.matファイルをMATLABでロードしたとき、R2015b, R2017a, R2019aではファイルのロードができますが、R2021a, R2023aでは該当のデータチャンクをロードすることができず、読めるチャンクだけロードされてファイルは読み取れませんでしたとメッセージが表示されます。問題が発生しているファイルに対してwho関数を用いてファイル内に格納されている変数名を問い合わせると、ファイルロードできないデータチャンク部の変数名が返ってきます。このファイルロードができない現象はテキストデータに日本語が含まれるときに発生することを確認しています。問題の起きているデータチャンク部をバイナリで見てみたところ、UTF-8で正しくデータが詰められているので何が原因で発生しているのかわからない状態です。アプリケーションのバージョンで読める読めないがあることはわかりましたので、2019~2021にかけてファイルロードに関する仕様の変更があったのではないかと思っているのですが、そのような変更はありましたでしょうか?
ご存知の方がいらっしゃいましたら、お返事いただけますと幸いです。
余談ですが、miUTF16を指定してUTF-16でエンコードしたテキストデータで保存してみたところファイルロードはでき、期待していた文字列も表示することができました。ですが、MATLAB上でデータ部をみてみると文字列の後ろに大量のスペースがパディングされていました。ファイルのバイナリをみてもどこからそのスペースが発生しているが不明です。
回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で ワークスペース変数と MAT ファイル についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!