簡體   English   中英

Matlab從文本文件中讀取十六進制值,非十六進制值穿插?

[英]Matlab reading hex values from text file with non hex values interspersed?

我有一個文本文件,看起來像下面粘貼的內容。 幾個十六進制值后跟“xx”,后跟十六進制值。 該模式重復約1M次。 我正在尋找一種很好的方法來讀出忽略“xx”值的十六進制值。 Textscan似乎很有趣,但不支持hex。 fscanf很棒,但是一旦碰到文件中的第一個“xx”就會窒息。 我寫了一個腳本笨重,其內容都作為一個字符串,忽略了“XX” S,並使用DEC2HEX,但這是痛苦的緩慢(顯然)。 有什么建議么?

7F
55
8A
9B
6E
XX
XX
XX
XX
FF
DE
BE
EF
XX
XX
XX
04
88
.
.
.

這個解決方案在我的筆記本電腦上在不到一秒的時間內讀取了100萬個雙字符行:

fid = fopen('test.txt');
A   = textscan(fid,'%2c','CommentStyle','XX');
fclose(fid);
A   = hex2dec(A{:});

請注意'CommentStyle'選項,該選項會跳過以XX開頭的那些行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM