matlab中存储字符变量的类型有两种,为字符和字符串
在Matlab中,数据类型char character)表示一个字符。一个char类型的1×n数组称为字符串str (string).
字符用单引号括出来,而字符串用双引号括出来。
a=I Love Matlab %不是字符也不是字符串,表达式是无效的
b='I Love Matlab' %字符型
c="I Love Matlab" %字符串型
如下:
所有的字符型变量都对应着一个专门的代码,其转换方法如下:
double('a') %将字符a转换为双精度浮点型代码
single('a') %将字符a转换为单精度浮点型代码
int8('a') %将字符a转换为8位有符号整数型代码
uint32('a') %将字符a转换为32位无符号整数型代码
double('小狗勾') %将字符'小狗勾'转化为双精度
char(97) %将实数97转化为字符型代码
char(543.4) %将实数543.4转化为字符型代码
char([23567 29399 21246]) %将向量[23567 29399 21246]转化为字符型(char)代码
...
...
...
对于double(‘a’) 、single(‘a’) 、int8(‘a’) 、uint32(‘a’) 等等
不管是怎么样转换,其值都是一样的,字符‘a’所代表的代码就是97
字符a的代码为97 c为99
同样的这些代码也可转化为字符,如:
双精度实数与字符型的相互转化:
如果超出取值范围的话只能取到最大值或最小值。如下,将字符 ‘小狗勾’ 转化为实数为[23567 29399 21246].但这些数均超出了8bit整数型即int8的最大值127,因而其只能输出为最大值127.
ASCII为字符编码表,共有128个字符合集:
char(1:128)%查看ASCII中128个字符合集
其结果如下:(无法显示的是一些功能性符号)
'
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€'