sir,i want to convert string into a hexadecimal value...is there any direct command?
Ältere Kommentare anzeigen
sir,i want to convert string into a hexadecimal value...is there any direct command?suppose my string is abc.i want that abc in the hexadecimal value.plz help me sir
6 Kommentare
satya
am 30 Mär. 2014
Patrik Ek
am 1 Apr. 2014
You could always try my answer down below. It worked fine for me when I tried. unicode2native transforms it to a decimal value and dec2hex does the rest. Please comment if you have further problems. It is good if there is some interactive exchange here. Also it is hard to say exactly what you want in the question and you may not get a copy-paste code. Also, for those with the same problem it is good if you accept answers that solves the issue. An accept works as a "recipe" that the solution is ok and may help those who needs the same answer.
satya
am 2 Apr. 2014
Patrik Ek
am 2 Apr. 2014
You have it already. Just notice that concate is a variable and must be treated as such and not as 'concate' which is a string with value 'concate' and not the variable concate. also remove the 8 in dec2str the input is given as an array of hexadecimal strings, which only is 2 digit each.
However, walter roberson give a nice code that can replace
decString = unicode2native('hi','utf-8');
hexString = dec2hex(decString);
If you want the hexadecimal code as a row vector, instead of a 2xN columnvector. Your choice. Both have pros and cons.
satya
am 8 Apr. 2014
Akzeptierte Antwort
Weitere Antworten (3)
Walter Roberson
am 1 Apr. 2014
hexstring = sprintf('%02x', YourString')
Note that if characters beyond 255 are present then you need to take other steps such as using UTF-8 encoding as Patrik suggested.
1 Kommentar
Mischa Kim
am 20 Mär. 2014
Bearbeitet: Mischa Kim
am 20 Mär. 2014
Satya, hex values are interpreted as strings, so no need for a transformation. E.g.
a = hex2dec('abc') % converting hex number to decimal
a =
2748
or
a = hex2dec('f')
a =
15
4 Kommentare
Mischa Kim
am 20 Mär. 2014
Bearbeitet: Mischa Kim
am 20 Mär. 2014
Not sure I understand. As mentioned above, hexadecimals numbers are represented as strings. That should answer your question regarding displaying numbers. If you want to do computations using hex, you will have to convert to other number formats, for example, decimal.
What exactly do you need to do?
satya
am 21 Mär. 2014
Mischa Kim
am 21 Mär. 2014
OK. There is only limited built-in functionality to deal with hex numbers. So typically, you would read and store hexadecimals as strings. For any kind of hex manipulations you'd have to convert to a different number format (decimals, most likely). You might find some useful code in the File Exchange .
Jos (10584)
am 21 Mär. 2014
Do you want to convert the string to a value?
STR = input('Enter a hexadecimal number:','s')
% the user types, for instance, 1F
value = hex2dec(STR)
% or
value2 = sscanf('1F','%x')
% both gives 31
2 Kommentare
satya
am 21 Mär. 2014
Jos (10584)
am 21 Mär. 2014
You really lost me … Can you provide a flow-diagram for your problem?
Kategorien
Mehr zu Cell Arrays finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!