引子
為什么 php 手冊(cè)里經(jīng)常說某個(gè)函數(shù)是二進(jìn)制安全的?我們平常使用函數(shù)的時(shí)候也沒發(fā)現(xiàn)有什么區(qū)別呀,那么二進(jìn)制安全到底是什么意思呢?
Php 實(shí)驗(yàn)
<?php echo strlen("abc"); // 3 echo strlen("abc\0"); // 4 echo
strlen("abc\0d"); // 5 echo strlen("abc\0def"); // 7
從上面的規(guī)律可以看出\0被認(rèn)為是一個(gè)字符,其實(shí)在上面的式子中\(zhòng)0是一個(gè)ascii字符。
補(bǔ)課簡單說明下 ascii 碼
我們知道,計(jì)算機(jī)內(nèi)部,所有信息最終都是一個(gè)二進(jìn)制值。每一個(gè)二進(jìn)制位(bit)有0和1兩種狀態(tài),因此八個(gè)二進(jìn)制位就可以組合出256種狀態(tài),這被稱為一個(gè)字節(jié)(byte)。也就是說,一個(gè)字節(jié)一共可以用來表示256種不同的狀態(tài),每一個(gè)狀態(tài)對(duì)應(yīng)一個(gè)符
熱門工具 換一換