本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

char

字符数组

说明

字符数组是一个字符序列,就像数值数组是一个数字序列一样。它的典型用途是将一小段文本作为一行字符存储在字符向量中。

创建对象

您可以使用单引号创建字符向量。

C = 'Hello, world'
C =

    'Hello, world'

如果您有一个其他数据类型的数组,则可以使用下面介绍的 char 函数将其转换为字符数组。

说明

示例

C = char(A) 将数组 A 转换为字符数组。

示例

C = char(A1,...,An) 将数组 A1,...,An 转换为单个字符数组。转换为字符后,输入数组变为 C 中的行。char 函数会根据需要使用空格填充行。如果任何输入数组是空字符数组,则 C 中相应的行是一行空格。

输入数组 A1,...,An 不能是字符串数组、元胞数组或分类数组。

A1,...,An 可以是不同的大小和形状。

示例

C = char(D)DFormat 属性指定的格式将日期时间、持续时间或日历持续时间数组转换为单个字符数组。输出在每行中包含一个日期或持续时间。

示例

C = char(D,fmt) 以指定的格式(例如 'HH:mm:ss')表示日期或持续时间。

C = char(D,fmt,locale) 以指定的区域设置(例如 'en_US')表示日期或持续时间。区域设置会影响用于表示字符向量(例如月和日期名称)的语言。

输入参数

全部展开

输入数组,指定为数值数组、字符数组、字符数组元胞数组、分类数组或字符串数组。

  • 如果 A 是数值数组,则 char 将数值转换为字符。有效数值范围从 0 到 65535,并且对应于 Unicode® 代码单元。值 0 到 127 还对应于 7 位 ASCII 字符。char 函数:

    • 将非整数值向零舍入。

    • 将小于 0 的值视为 0。

    • 将大于 65535 的值视为 65535。

  • 如果 A 是字符数组,则 char 返回未改变的 A

  • 如果 A 是字符数组元胞数组,则 char 将该元胞数组转换为字符数组。元胞数组中每个字符数组的每一行将变成 C 中的一行,并根据需要自动用空格填充。

    • 如果 A 是多维元胞数组,则 char 会将输出折叠为二维字符数组。例如,如果 A 是 2×2×2×2 元胞数组,则输出字符数组 C 有 16 行。

  • 如果 A 是分类数组,则 char 按列顺序将 A 的每个元素转换为字符数组的一行。

  • 如果 A 是字符串数组,则 char 会将字符串数组转换为字符数组。char 会将 A 中的每个字符串元素转换为字符向量,然后将这些字符向量串联成字符数组,并根据需要自动用空格填充。由于 char 将每个字符串转换为字符向量,因此输出字符数组的大小不同于字符串数组的大小。

示例: char(65) 将整数 65 转换为字符 A

输入日期和时间,指定为日期时间或持续时间数组。

数据类型: datetime | duration | calendarDuration

日期和时间格式,指定为 []、字符向量或字符串标量。如果指定 [],则 char 以输入 DFormat 属性指定的格式表示 D

支持的格式取决于 D 的数据类型。

  • datetime 格式可以包括单位和分隔符的组合,例如 'yyyy-MMM-dd HH:mm:ss.SSS'。有关详细信息,请参阅日期时间数组的 Format 属性。

  • duration 格式为单个字符('y''d''h''m''s')或者以下组合之一:

    • 'dd:hh:mm:ss'

    • 'hh:mm:ss'

    • 'mm:ss'

    • 'hh:mm'

    • 以上任意项,用最多九个 S 字符指示秒小数位,例如 'hh:mm:ss.SSSS'

  • calendarDuration 格式可以按从大到小的时间单位顺序包括字符 'y''q''m''w''d''t' 的组合,例如 'ym'

有关 durationcalendarDuration 格式的详细信息,请参阅设置日期和时间显示格式

输出中表示的区域设置,指定为字符向量或字符串标量。区域设置影响用于表示日期和时间的某些分量(例如月份名称)的语言。

locale 可以是:

  • 'system',用于指定您的系统区域设置。

  • xx_YY 形式的字符向量,其中 xx 是用于指定语言的小写 ISO 639-1 双字母代码,YY 是用于指定国家/地区的大写 ISO 3166-1 alpha-2 代码。

locale 输入参数可以是 datetime 函数的 'Locale' 名称-值对组参数接受的任何值。

示例: 'en_US'

示例: 'ja_JP'

输出参数

全部展开

输出数组,以字符数组的形式返回。字符数组可以具有任意大小,但最典型的用途是以字符向量的形式存储文本片段。

MATLAB® 采用 UTF-16 编码方式将所有字符存储为 Unicode 字符。有关 Unicode 的详细信息,请参阅 Unicode

示例

全部折叠

将数值数组转换为字符数组。

A = [77 65 84 76 65 66];
C = char(A)
C = 
'MATLAB'

从 32 到 127 的整数对应于可打印的 ASCII 字符。但是,从 0 到 65535 的整数还对应于 Unicode® 字符。您可以使用 char 函数将整数转换为对应的 Unicode 表示形式。

例如,数字 8451 对应于摄氏度符号。可以使用 char 转换 8451。

C = char(8451)
C = 
'℃'

将多个数组转换为单个字符数组。输入数组不需要具有相同的形状。

A1 = [65 66; 67 68];
A2 = 'abcd';
C = char(A1,A2)
C = 3x4 char array
    'AB  '
    'CD  '
    'abcd'

因为输入数组不包含相同的列数,所以 char 使用空白填充 A1 中的行。

whos C
  Name      Size            Bytes  Class    Attributes

  C         3x4                24  char               

创建一个字符串标量。从 R2017a 开始,您可以使用双引号创建字符串标量。MATLAB® 也可以显示带有双引号的字符串。

A = "Pythagoras"
A = 
"Pythagoras"

使用 char 函数将 A 转换为字符向量。MATLAB 可以显示带有单引号的字符向量。

C = char(A)
C = 
'Pythagoras'

创建一个 duration 数组。

D = hours(23:25) + minutes(8) + seconds(1.2345)
D = 1x3 duration array
   23.134 hr   24.134 hr   25.134 hr

D 转换为字符数组。

C = char(D)
C = 3x9 char array
    '23.134 hr'
    '24.134 hr'
    '25.134 hr'

C 是一个字符数组,其中的每一行表示一个持续时间值。

指定 C 表示的持续时间值的格式。

C = char(D,'hh:mm')
C = 3x5 char array
    '23:08'
    '24:08'
    '25:08'

扩展功能

在 R2006a 之前推出