您好,登錄后才能下訂單哦!
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的錯誤。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。