Why does char give me an empty output?

>> b=[1,2,3,4,5]
b =
1 2 3 4 5
>> char(b)
ans =
this is what I enter and the output is five little empty boxes. I've tried this with several numeric vectors and matrices and it does the same thing with varying numbers of boxes. It also does this if I manually input the vector. It was working previously, and then it wasn't I'm not sure what I'm doing wrong

 Risposta accettata

James Tursa
James Tursa il 21 Set 2015
Modificato: James Tursa il 21 Set 2015
Characters for ASCII codes 1, 2, 3, 4, 5 are all unprintable characters, so nothing prints. The conversion did take place, but the result is not printable (displayable). The characters are:
1 01 SOH Start of heading
2 02 STX Start of text
3 03 ETX End of text
4 04 EOT End of trans.
5 05 ENQ Enquiry

2 Commenti

Thank you, that explains it, not sure what I was doing before, but I'll figure it out.
Stephen23
Stephen23 il 21 Set 2015
Modificato: Stephen23 il 21 Set 2015
About halfway down this page are two tables, one with the unprintable and one the printable ASCII characters:

Accedi per commentare.

Più risposte (2)

Joseph Cheng
Joseph Cheng il 21 Set 2015
char() converts the values into the 7-bit ASCII characters. use num2str() or the other equivalent functions to convert numbers to a string.

1 Commento

Well, thank you for answering, but I'm not trying to convert it to a string, I'm just trying to display the elements as a column vector.

Accedi per commentare.

C.J. Harris
C.J. Harris il 21 Set 2015
This is because ASCII characters 1 to 7 are not visible characters.
See the 'Dec' column: http://www.asciitable.com/

Categorie

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by