在读 AFN 源码时,遇到了字符编码的问题, 这里做一个记录
字符编码 ASCII码 Unicode 汉字编码 UTF-8
ASCII码: 一个字节表示 只占用了 7 bit 一共可以表示 128 个字符
可以表示所有的英文字符
非ASCII编码: 除英语之外的其他语言 无法用ASCII码 表示 称为 非 ASII码
Unicode: 世界上所有的符号都可以使用 Unicode码表示
Unicode 虽然囊括了世界上所有的符号 但是 如何才能在电脑上显示呢
UTF-8 : 互联网上最流传的 Unicode 编码方式, 可使用 UTF-8 在电脑上显示 Unicode 字符
汉字编码:
GB2312 : 国标码 简体字
Big5 : 大五码 繁体字
GBK : GB2312的升级版 包含简体字和繁体字
-
url 编码(percentcode 百分号编码)
Url的编码格式采用的是ASCII码,而不是Unicode,这也就是说你不能在Url中包含任何非ASCII字符,例如中文。否则如果客户端浏览器和服务端浏览器支持的字符集不同的情况下,中文可能会造成问题。
Url编码的原则就是使用安全的字符(没有特殊用途或者特殊意义的可打印字符)去表示那些不安全的字符。
RFC3986文档规定,Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及所有保留字符。
Ruby character 标注字符
比如 北京(bei jing) 用拼音来标注汉字
Unicode U+FFFC
是一个可被替换字符,如可以用一个图片来代替。
所以说,unicode中可以有非字符对象
https://en.wikipedia.org/wiki/Specials_(Unicode_block)#cite_note-2
http://blog.csdn.net/acorld/article/details/10063543
YYText
中列举了几乎所有的富文本属性 demo 还有效果图等,是学习coreText的神器啊