$strA = '8888'; $strB = '8888';
咱們肉眼看到的這兩個字符串是絕對相同的, 對的, 他是一個'8888', 讓咱們用 php (世界上最好的語言) 輸出下兩個字串的長度php
# code var_dump($strA); var_dump($strB); # result string(7) "8888" string(4) "8888"
我滴媽呀, 怎麼會不一樣呢, 納悶..網站
for ($i = 0, $iMax = strlen($strA); $i < $iMax; $i++) { var_dump($strA[$i]); }
string(1) "8" string(1) "8" string(1) "8" string(1) "8" string(1) "�" string(1) "�" string(1) "�"
咦, 這是個什麼鬼. 不像是正常字符啊. 哦, 對了, 咱們是用的Utf-8 字符集, 這三個應該是一個字符, 咱們把它組合起來編碼
獲取到 ASCII 碼值spa
for ($i = 0, $iMax = strlen($strA); $i < $iMax; $i++) { var_dump(ord($strA[$i])); }
int(56) int(56) int(56) int(56) int(226) int(128) int(172)
這個編碼值是 [226 128 172], 讓咱們找到它. code
看, 在這裏blog
來自於這個網站, 好像是輸出格式化標識符. 以上.unicode