$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