Single-byte characters?
18 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi!
If I understand correctly, characters in Matlab are always defined as two-byte variables? Is it possible to define a single-byte character?
I'm trying to communicate with an external device, and I need to send it a character string of N bytes = N characters. At the moment, however, when I define my string in Matlab I always get 2*N bytes.
Is it possible to create strings of characters where each character is stored as one byte?
Thanks!
0 Kommentare
Antworten (4)
Patrick Kalita
am 24 Mai 2011
Does this work for you?
>> s = uint8('hello world')
s =
104 101 108 108 111 32 119 111 114 108 100
>> whos
Name Size Bytes Class Attributes
s 1x11 11 uint8
>>
1 Kommentar
Jan
am 24 Mai 2011
If the function expects a CHAR, you must provide 2-byte characters. 1-byte characters are simply not CHARs and will be refused by the called function.
Please post any details about the program used for "communication with an external device".
0 Kommentare
Lipa
am 24 Mai 2011
1 Kommentar
Patrick Kalita
am 24 Mai 2011
Which function is giving you the error? Is it something provided by MATLAB or a Toolbox?
Laura Proctor
am 24 Mai 2011
You can try the function unicode2native which will convert your characters into numeric bytes depending on the encoding scheme that you select:
bytes = unicode2native('hello world','UTF-8')
But I don't know that this will resolve the issue. Can you copy and paste the exact command you are using as well as the error message?
0 Kommentare
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!