使用ajax 大多得到的資料都是文字形式的,本質是2進製流,瀏覽器會自動編碼,將這些2進製流翻譯成文字。
但是有些時候,你想直接得到這些2進製流,不想瀏覽器進行編碼,例如返回資料,這個沒有對應文字編碼,你得到的會是亂碼。
在新的瀏覽器中可以設定ajax物件的responsetype屬性為arraybuffer,通過response屬性來接收2進製流,將得到的資料通過uint8array轉一下就可以得到2進製流的陣列。
在比較老的瀏覽器中用overridemimetype函式設定text/plain為charset=x-user-defined,然後把responsetext上的字元的ascii編碼和0xff相與,就得到2進製的資料。
在比較老的ie瀏覽器中沒有overridemimetype函式,不過responsebody屬性已經有2進製資料,但是js沒有處理2進製流的函式,需要是用vb來轉換下。
資料
php讀取二進位制 php讀取二進位製流
將php資料轉換為二進位制資料 string pack string format mixed args mixed 將二進位制資料轉換為php資料 array unpack string format,string data format a nul padded string a nul 字串填...
字元流讀取
一 字元流filereader 1.字元流是什麼 字元流是可以直接讀寫字元的io流 字元流讀取字元,就要先讀取到位元組資料,然後轉為字元.如果要寫出字元,需要把字元轉為位元組再寫出.2.filereader filereader類的read 方法可以按照字元大小讀取 filereader fr ne...
未知長度二進位製流的讀取
採用第三方工具處理網路流的時候,會面臨一些問題,歸納如下 1 二進位製流的開啟 很簡單,使用popen pclose即可。windows平台下則採用 popen,pclose。標頭檔案都是stdio.h 例如 2 二進位製流的讀取 fread的函式原型為 block len 表示每個結構的大小 ni...