Why does char give me an empty output?

11 次查看(过去 30 天)
>> 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

采纳的回答

James Tursa
James Tursa 2015-9-21
编辑:James Tursa 2015-9-21
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 个评论
Geri Spinosa
Geri Spinosa 2015-9-21
Thank you, that explains it, not sure what I was doing before, but I'll figure it out.
Stephen23
Stephen23 2015-9-21
编辑:Stephen23 2015-9-21
About halfway down this page are two tables, one with the unprintable and one the printable ASCII characters:

请先登录,再进行评论。

更多回答(2 个)

Joseph Cheng
Joseph Cheng 2015-9-21
char() converts the values into the 7-bit ASCII characters. use num2str() or the other equivalent functions to convert numbers to a string.
  1 个评论
Geri Spinosa
Geri Spinosa 2015-9-21
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.

请先登录,再进行评论。


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

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by