函数read-line,read,display和write都能工作在字符上。事实上,他们使用read-char和write-char实现。
更加简单的是,读写字节流代替字符流。函数read-byte,write-byte能够读写原始字节。其它函数,像read-bytes-line构建在字节流之上。
事实上,read-char
和write-char
都是用read-byte
和write-byte
实现的。当一个字节的值小于128,那么他被当做ASCII字符。其它的字节则被当做utf-8序列的一部分,utf-8是字节标准的编码方式。(幸运的是ASCII码被编码成本身)。因此,read-char多次调用read-byte,write-char可以产生多个字节输出。
read-char和write-char操作总是使用utf-8编码。如果你有一个不同编码的流或者你想要生成一个不同编码的文本流,使用reencode-input-port
,reencode-output-port
。他们可以从你指定的编码方式转化成UTF-8的流,read-char 就可以读到UTF-8编码。但是注意,read-byte也会读到重编码的数据。
8.5字节字符和编码
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 编码问题一直困扰着开发人员,尤其在 Java 中更加明显,因为 Java 是跨平台语言,不同平台之间编码之间的切换...
- UTF-8编码方式与字节序标记 一、UTF-8编码方式 1. 接下来将分别介绍Unicode字符集的三种编码方式:...