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

 Accepted Answer

James Tursa
James Tursa on 21 Sep 2015
Edited: James Tursa on 21 Sep 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 Comments

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

Sign in to comment.

More Answers (2)

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

1 Comment

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.

Sign in to comment.

This is because ASCII characters 1 to 7 are not visible characters.
See the 'Dec' column: http://www.asciitable.com/

Categories

Tags

Asked:

on 21 Sep 2015

Edited:

on 21 Sep 2015

Community Treasure Hunt

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

Start Hunting!