How to convert AnsiChar (char8_t) into HEX?
조회 수: 8 (최근 30일)
이전 댓글 표시
Hello. I save raw sensor data to an SD card. When I open such a file, for example, in the HxD program, I get a preview of the data in HEX, Int8, UInt8 and other formats. Can I do the same directly in MATLAB (R2015a)? How can I convert AnsiChar (char8_t) data into other data types? For example, I would like to convert the data string "ę˙°ţiţ{ý" into the EA FF B0 FE 69 FE 7B FD form.
댓글 수: 1
John D'Errico
2023년 5월 23일
@Radoslaw Puchalski - please don't use flags to make a comment. Flags are there for moderation purposes.
답변 (2개)
Walter Roberson
2023년 5월 22일
It isn't completely clear what you want
datastring = "ę˙°ţiţ{ý"
fprintf('%02x ', typecast(swapbytes(uint16(char(datastring))),'uint8'))
The above is in "big endian" order, which is not the internal order for any currently supported architecture. Big-endian as in the 01 19 is to be interpreted as 0x01 * 256 + 0x19 rather than as 0x01 + 0x19 * 256
dec2hex(datastring{1},4)
But maybe you want utf-8 bytes?
fprintf('%02x ', unicode2native(datastring, 'utf8'))
댓글 수: 4
Radoslaw Puchalski
2023년 5월 23일
편집: Radoslaw Puchalski
2023년 5월 23일
댓글 수: 4
Walter Roberson
2023년 5월 23일
You can improve slightly:
filename = 'E:\file.csv';
fileID = fopen(filename,'r');
Data_int16 = fread(fileID, '*int16');
fclose(fileID);
참고 항목
카테고리
Help Center 및 File Exchange에서 Low-Level File I/O에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!