php 字符串的表达方式,PHP字符串

1 PHP字符串基础知识

定义:字符结合,在C语言中类似字符数组的概念。

表达方式:

1)单引号:不解析变量

2)双引号

解析字符 \n \r \t \v \e \f \\ \$ \"

\[0-7]{1,3}  八进制方式表达的字符

\x[0-9a-Fa-f]{1,2} 十六进制方式表达的字符

3)heredoc

1:标识符的名称和变量名的要求一样.

2:heredoc的标识符,一定是独占一行,而且前面没有任何其他字符

3:heredoc对文本的处理,和 双引号一样,即\r\n\t,变量,等,能解析出来.

4)noewdoc

写法和heredoc一样,但是效果和单引号一样,不转义\n \r \t 变量等。

2 PHP字符串内部存储方式

struct

{

char *val;  字符指针

int len;    int 长度 当前字符串的长度

}str;

1.c语言的字符指针 即字符数组  ,所以可以通过[]或{}来访问某一个字符。

2.字符串长度可以达到2G内存。

3.常见函数都是单字节处理方式

4.二进制安全的。原因:结构体len表示结构体长度。比如c语言中字符串是指连续的内存空间,以'\0'结尾,所以当字符串中包含'\0'的时候,会截断字符串。

3 串行化字符串

方法:

1.函数serialize().

2json_encode().

3.var_export($item,true);

serialize不仅仅可以转化数组还可以转换对象,效率上json_encode高效

4 字符编码

字符集(Charset):是一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。

字符编码(Character Encoding):二进制与字符的映射关系,就是将字符转换为计算机可以接受的数 字代码。就是以二进制的数字来对应字符集的字符。

常见字符编码:

ASCII  美国

字符集:包括控制字符(回车 退格);可显示字符(英文大小写字符、阿拉伯数字和西文符号)编码:7位表示一个字符 共计(2的7次方)128个字符。

ISO-8859-1(latin1) 西欧国家

Big5 台湾

GB2312  中国 6763个汉字 和非汉字682个 2个字节表示Gbk 18030个汉字

Unicode 字符集 (统一码、万国码、单一码、标准万国码)是业界的一种标准,它可以使电脑得以体现世界上数十种文字的系统

5 Utf-8和Gbk编码原理

UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码(定长码),也是一种前缀码。它可以用来表示Unicode标准中的任何字符,且其编码中的第一个字节仍与ASCII兼容,这使得原来处理ASCII字符的软件无须或只须做少部份修改,即可继续使用。因此,它逐渐成为电子邮件、网页及其他存储或传送文字的应用中,优先采用的编码。互联网工程工作小组(IETF)要求所有互联网协议都必须支持UTF-8编码。

UTF-8使用一至四个字节为每个字符编码:

1.128个US-ASCII字符只需一个字节编码(Unicode范围由U+0000至U+007F)。

2.带有附加符号的拉丁文、希腊文、西里尔字母、亚美尼亚语、希伯来文、阿拉伯文、叙利亚文及它拿字母则需要二个字节编码(Unicode范围由U+0080至U+07FF)。

3.其他基本多文种平面(BMP)中的字符(这包含了大部分常用字)使用三个字节编码。

4.其他极少使用的Unicode辅助平面的字符使用四字节编码。

6 :字符串特性

1.可以使用大括号{}来使用;

2.用超出字符串长度的下标写入将会拉长字符串并且以空格填充。

3.非整数类型下标会被转成整数,非法下标类型会产生一个E_NOTICE的错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值