我有個php檔案的功能是讀取乙個二進位制檔案並且echo出來,該檔案本來是檔案,但是我訪問這個php檔案並且寫入到本地硬碟的時候發現並不是格式
用hexdump
檢視的時候發現檔案首部多了3個位元組,這不剛好就是bom的utf8編碼的十六進製制表示麼,後來找到原因是因為有個同事包含了乙個使用了bom頭的php檔案導致,該位元組在文字編輯器裡是不可見的,著實增加了除錯難度。
導致這個問題的原因是 bom頭是在php的標記
ef bb bf
<?php
echo111;
?>
去除方法:
在windows上如果使用的是phpstom的話,在file選單下面的有remove bom
的選單項
查詢包含bom頭的檔案,命令如下:
grep -r -i -l $'^\xef\xbb\xbf' ./
這條命令會查詢當前目錄及子目錄下所有包含bom頭的檔案,並把檔名在螢幕上輸出。
但是,刪除bom頭,網上找到的命令大多不能用,比較常見的命令是:
grep -r -i -l $'^\xef\xbb\xbf' /path | xargs sed -i 's/^\xef\xbb\xbf//;q'
但這條命令會把除了首行之外所有的行刪除,所以毫無意義。
經測試如下命令是可行的:
find . -type f -exec sed -i 's/\xef\xbb\xbf//' {} \;
這個命令會把當前目錄及所有子目錄下的bom頭刪除掉。
UITableView的分割槽頭 懸停問題
我們開發經常用到uitableview,而它的分割槽頭也會用到,分割槽頭在螢幕頂部和底部會有懸停功能。那就要說到uitableview的兩種格式,uitableviewstylegrouped和uitableviewstyleplain uitableviewstylegrouped 分割槽頭隨著螢...
OpenCV開啟攝像頭問題
先看一段 這段 是有問題的,問題在於 因為電腦開啟攝像頭需要一定的時間,所以frame cvqueryframe capture 第一次執行完後沒法獲取到第一幀。include cv.h include highgui.h int main int argc,char argv else asser...
筆試面臨的j攝像頭問題
這個問題我今天下午做筆試時碰到了,最後成功解決,可以好好解答下。1 先上解決方案 1 chrome版本 這是應急的方法,但不完美,因為有的人就想讓chrome的版本保持最新 比較強迫症患者 2 網頁 這個才是最關鍵的,因為一般的webcam 就是我們用的usb攝像頭 都是能在qq上直接用的,但是為什...