iOS--字符编码,NSString和UTF-8间的转换

ASCII码相信很熟悉了,只是自己一直都记不住基本规律,有时候用起来十分不爽。

ASCII,共7位,表示128个字符,一般都在前面加0补全8位形成一个Bit。0~31以及127为控制字符,不能打印;32为空格;48(HEX: 0x30)为0;65(HEX: 0x41)为A;97(HEX: 0x61)为a。


GB2312:ANSI编码中的一种,对ASNI编码最初始的ASCII编码进行扩充,为了满足国内在计算机中使用汉字的需要,中国国家标准总局发布了一系列的汉子字符集国家标准编码,统称为GB码,或国标码。其中最有影响的是于1980年发布的《信息交换用汉字编码字符集 基本集》,标准号为GB 2312-1980,因其使用非常普遍,也常被通称为国标码。GB2312是一个简体中文字符集,由6763个常用汉字和682个全角的非汉字字符组成。GB2312编码用两个字节表示一个汉字,所以理论上最多可以表示256x256=65536个汉字。(摘自百度百科)


GBK:汉字内码扩展规范,K为扩展的汉语拼音中“扩”字的声母。GBK兼容GB2312,共收录汉字21003个、符号883个,并提供1894个造字码位。(摘自百度百科)


Unicode:把世界上所有的符号都纳入其中,包括英文、日本、中文等等,现在能容纳100多万个符号。这样效率上就不好,于是UTF-8出现了,它可以根据不同的符号自动选择编码的长短。


iOS中对字符串进行UTF-8编码:输出str字符串的UTF-8格式

[str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];


解码:把str字符串以UTF-8规则进行解码

[str stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

你可能感兴趣的:(iOS)