我有一个这样的数字 - 778310098 - 我想一次读取 2 个字节。所以,我希望我的输出是 77;83; 10个;09; 8. 我尝试使用以下内容: uint16(fread(fileID,inf, 'ubit8')) 我得到的输出是各个数字的 ASCII 值:55 55 56 51 49 48 48 57 56
我需要做什么才能获得所需的输出?
我有一个这样的数字 - 778310098 - 我想一次读取 2 个字节。所以,我希望我的输出是 77;83; 10个;09; 8. 我尝试使用以下内容: uint16(fread(fileID,inf, 'ubit8')) 我得到的输出是各个数字的 ASCII 值:55 55 56 51 49 48 48 57 56
我需要做什么才能获得所需的输出?
要从文本文件中读取成对的 ASCII 数字(我们倾向于不以字节来描述文本文件,而是以字符来描述),请使用:
[10 1] * (fread(fileID,[2 inf], 'char') - 48)
要从二进制文件中成对读取字节,请尝试
fread(fileID,inf, '*uint16')
一种方法是将其转换为字符串,然后处理字符串,然后将其转换回整数。虽然这可能不是特别优雅或完美,但这会奏效吗?
a = 778310098;
b = num2str(a);
for i = 1:2:length(b)
if i == length(b) % to handle the case for odd input
split = str2num(b(i))
else
split = str2num(b(i:i+1)) % handle all others
end
end