# 2.4.8.4 字符串的文本属性

字符串中的字符可以拥有自己的文本属性。这种设计简化了不同缓冲区间拷贝时的文本属性处理。详情查阅文本属性。具有文本属性的字符串会有一种特别的读取和打印语法：

```
#("characters" property-data...)
```

其中 property-data 包含了 0个及以上的元素，这些元素都是三个一组的形式：

```
beg end plist
```

其中 beg元素 和 end 元素是整数，用来指明字符串中的范围；plist 是一个属性列表，用来描述这个范围内的文本属性。举个例子，

```
#("foo bar" 0 3 (face bold) 3 4 nil 4 7 (face italic))
```

表示了这样的一段文本 'foo bar'，其中前三个字符有个 face 属性，其属性值是 bold （粗体）；而后三个字符也有 face 属性，但值为 italic （斜体）。(第四个字符没有任何文本属性，因此属性列表是 nil。不过在这里，标记 没有文本属性的文字 是没有必要的，Emcas 会默认认为所有没有标记范围的字符没有文本属性。）
