How do I do char2num (assume Ascii)?

9 visualizaciones (últimos 30 días)
Gavin
Gavin el 24 de Sept. de 2024
Comentada: Stephen23 el 24 de Sept. de 2024
num2 char is easy enough num = char(122) returns 'z' ; but how can I get back to the ascii value from a char?
Do I really have to do all this:
val = unicode2native(ch(1:1),'US-ASCII');
I suppose I can make
function val = char2num(ch) % return a single ascii value
if ischar(ch) || isstring(ch)
val = unicode2native(ch(1:1),'US-ASCII');
val = val(1:1); % because if it's a string ch(1:1) is the first string not the char
else % it's already a number?
ch = mod(ch,256); % Too big? take LSB
% oddly ML mod() allows fractions so ...
val = uint8(ch); % round if needed
end
But surely there is a built in function that I just can't find

Respuesta aceptada

Stephen23
Stephen23 el 24 de Sept. de 2024
Editada: Stephen23 el 24 de Sept. de 2024
txt = char(120:122)
txt = 'xyz'
num = double(txt)
num = 1×3
120 121 122
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
If you have a container array (e.g. cell array or string array) then of course you will need to use a loop or CELLFUN/ARRAYFUN or something of that nature. For a scalar string array you could simply access its content using curly braces:
str = "xyz";
vec = double(str{1})
vec = 1×3
120 121 122
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
  3 comentarios
Stephen23
Stephen23 el 24 de Sept. de 2024
txt = char(120:122)
txt = 'xyz'
num = uint8(txt)
num = 1×3
120 121 122
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
You can add CHAR if you want it to work with both character arrays and scalar strings:
num = uint8(char(txt))
num = 1×3
120 121 122
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
Stephen23
Stephen23 el 24 de Sept. de 2024
str = "xyz";
num = uint8(str{1}(1))
num = uint8 120

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by