導航:首頁 > 編程語言 > php位元組處理

php位元組處理

發布時間:2022-10-04 01:40:18

php里位元組數組 怎麼理解

PHP的字元串都是位元組數組(或者叫位元組串)。傳言到PHP6 會改成真正的unicode字元串,但目前PHP4、5的字元串都只是位元組串。
$a='你好';
echo $a[0];//這時顯示的是一個位元組,而不是字元『你』

PHP中所有的字元串函數,比如substr、strpos、strcmp等等都註明了「binary-safe二進制安全」,表明這些函數只是處理位元組,而非處理字元。

形成的原因:PHP早期和C一樣,僅僅兼容ASCII碼,而ASCII碼的一個字元等同一個位元組。
所以目前PHP的字元和位元組是基本同義的,處理中文需要multibyte char多位元組字元的MB模塊。
到PHP6才會改變

Ⅱ PHP如何將從二進制文件中讀取的位元組轉換為數字

bindec函數可轉換二進制數為十進制數

Ⅲ php帶長度處理的函數是一個漢字兩個位元組嗎

PHP的字元處理函數的單位是位元組byte,不是字元

多位元組的字元集,比如含漢字的GBK,UTF8用多位元組模塊中mb_strlen這樣的函數來統計「字元數」.

Ⅳ php 如何通過程序對圖片進行Byte[] 格式的處理

其實你為什麼非要BYTE格式處理呢,作圖之類應該交給PS等軟體,不過樓主硬是要一個例子,請看下面代碼:
<?
if(!file_exists('test.jpg'))
{
fopen('test.jpg');
}
$fp = fopen('test.jpg', 'w');
fwrite($fp, $byte);
fclose($fp);
header ("Content-type: image/jpg");
echo $byte;
?>

Ⅳ php curl 如何提交位元組集數據和處理位元組集數據(byte),也就是二進制數據

file_get_contents 獲得的就是二進制流

Ⅵ php 幾個位元組 函數

有兩個函數可以取PHP字元串長度
----------------------------------------------------------------------
strlen — 獲取字元串長度

int strlen ( string $string )

返回給定的字元串 string 的長度。參數 string 需要計算長度的字元串。

返回值 成功則返回字元串 string 的長度;如果 string 為空,則返回 0。

----------------------------------------------------------------------
mb_strlen — 獲取字元串的長度 (PHP 4 >= 4.0.6, PHP 5)

mixed mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] )
獲取一個 string 的長度。

參數 str 要檢查長度的字元串。
encoding 參數為字元編碼。如果省略,則使用內部字元編碼。

返回值
返回具有 encoding 編碼的字元串 str 包含的字元數。 多位元組的字元被計為 1。
如果給定的 encoding 無效則返回 FALSE。

特別要注意的是:

有關中文的問題。PHP內置的字元串長度函數strlen無法正確處理中文字元串,它得到的只是字元串所佔的位元組數。對於GB2312的中文編碼,strlen得到的值是漢字個數的2倍,而對於UTF-8編碼的中文,就是3倍的差異了(在UTF-8編碼下,一個漢字佔3個位元組)。

採用mb_strlen函數可以較好地解決這個問題。mb_strlen的用法和strlen類似,只不過它有第二個可選參數用於指定字元編碼。例如得到UTF-8的字元串$str長度,可以用mb_strlen($str,'UTF-8')。如果省略第二個參數,則會使用PHP的內部編碼。內部編碼可以通過mb_internal_encoding()函數得到。需要注意的是,mb_strlen並不是PHP核心函數,使用前需要確保在php.ini中載入了php_mbstring.dll,即確保「extension=php_mbstring.dll」這一行存在並且沒有被注釋掉,否則會出現未定義函數的問題。

Ⅶ php處理位元組流

位元組流是由位元組組成的,
位元組流是最基本的,所有的InputStrem和OutputStream的子類都是,主要用在處理二進制數據,它是按位元組來處理的

字元流和位元組流都是什麼
流就是stream. 一個連續的位元組隊列。

流是程序輸入或輸出的一個連續的位元組序列,設備(例如滑鼠,鍵盤,磁碟,屏幕和列印機)的輸入和輸出都是用流來處理的。在C語言中,所有的流均以文件的形式出現---不一定是物理磁碟文件,還可以是對應與某個輸入/輸出源的邏輯文件

流(streams)在I/O系統中是一種I/O機制和功能,或者稱為streams子系統。它本身並不是一個物理設備的概念。
引入流的目的:
傳統的字元設備驅動程序框架有許多缺點,這表現在:
。內核與字元設備驅動程序間介面的抽象層次太高
。內核沒有為字元設備提供可靠的緩沖區分配和管理功能
。許多系統對字元設備的界面是把數據看成是FIFO(先進先出)的位元組流,因此沒有識別消息邊界,區分普通設備和控制信息,以及判定不同消息優先順序的能力,也沒有位元組流流量控制
。在網路數據傳輸設備中這些問題更突出。網路中數據傳輸是基於消息或數據分組的。
流的概念:
用通訊中的術語來說,流是全雙工的處理過程,它是內核中驅動程序和用戶進程之間的數據傳輸通道。
從流的構造上來說,它由一個流頭,一個流驅動程序尾,以及其間的零個或若干個可選模塊構成 。流頭是一個用戶級介面,它允許用戶應用程序通過系統調用介面來訪問流。驅動程序尾與底層設備通信。在流的中間的模塊是處理數據的。

位元組流與字元流主要的區別是他們的的處理對象

位元組流是由位元組組成的,字元流是由字元組成的. Java里字元由兩個位元組組成.

位元組流是最基本的,所有的InputStrem和OutputStream的子類都是,主要用在處理二進制數據,它是按位元組來處理的
但實際中很多的數據是文本,又提出了字元流的概念,它是按虛擬機的encode來處理,也就是要進行字元集的轉化。在從位元組流轉化為字元流時,實際上就是byte[]轉化為String時,
public String(byte bytes[], String charsetName)
有一個關鍵的參數字元集編碼,通常我們都省略了,那系統就用操作系統默認的lang

流式傳輸主要指將整個音頻和視頻及三維媒體等多媒體文件經過特定的壓縮方式解析成一個個壓縮包,由視頻伺服器向用戶計算機順序或實時傳送。在採用流式傳輸方式的系統中,用戶不必像採用下載方式那樣等到整個文件全部下載完畢,而是只需經過幾秒或幾十秒的啟動延時即可在用戶的計算機上利用解壓設備對壓縮的A/V、3D等多媒體文件解壓後進行播放和觀看。此時多媒體文件的剩餘部分將在後台的伺服器內繼續下載。

Ⅷ php怎麼把位元組轉換MB

function sizecount($filesize) {
if($filesize >= 1073741824) {
$filesize = round($filesize / 1073741824 * 100) / 100 . ' gb';
} elseif($filesize >= 1048576) {
$filesize = round($filesize / 1048576 * 100) / 100 . ' mb';
} elseif($filesize >= 1024) {
$filesize = round($filesize / 1024 * 100) / 100 . ' kb';
} else {
$filesize = $filesize . ' bytes';
}
return $filesize;
}

//應用方法
$path='./111cn.net/a.gif';
echo sizecount(filesize($path));

Ⅸ php如何將圖片轉成位元組流

在php中,有文件上傳,那麼php伺服器端可以接收到請求參數 $_FILES,在 $_FILES數組中讀取到上傳文件的form表單名,然後在讀取的數組中可以獲取上傳文件的源文件,使用 fopen()函數就可以獲取文件的位元組流了。
具體來點代碼看看吧:(假定上傳文件的表單名為 「formname」)
if($_FILES && isset($_FILES["formname"])){
//獲取上傳的文件的屬性數組
$_fileinfo = $_FILES["formname"];
//獲取上傳文件的原文件名
$_filename = $_fileinfo["name"];
//獲取上傳文件的大小
$_filesize = $_fileinfo["size"];
//獲取上傳文件的臨時文件名(長文件名)
$_filesource = $_fileinfo["tmp_name"];
//以讀寫方式打開文件,並將資源綁定到一個流上
$_filestream = fopen($_filesource,"ab");
//實現上傳文件,其實質是把臨時文件移動到制定的保存文件的位置
$_newfilename = "../mypath/filename.exp"; //自定義文件名,包含路徑,可以是相對路徑
move_uploaded_file($_filesource, $_newfilename);
}

Ⅹ 求指教!,php如何把字元串轉化為位元組數組呢

將一個字元串分解成一個字元串數組,這種分割可能是基於某個字元,比如說是空格,逗號,分號之類的話,你可以用PHP的字元串分割函數 explode(),語法是PHP code?

1、array explode ( string separator, string string [, int limit])
函數的第一個參數是分割符,第二個就是字元串了,具體可以參考一下PHP手冊
2、
<?php
function string2bytes($str){
$bytes=array();
for ($i=0; $i < strlen($str); $i++) {
$tmp=substr($str, $i,1);
$bytes[]=bin2hex($tmp);
}
return $bytes;
}

$b=string2bytes("崑山二手車ello,world");
var_mp($b);

閱讀全文

與php位元組處理相關的資料

熱點內容
天乾地支年份演算法 瀏覽:796
程序員打造的視頻 瀏覽:4
java和php通信 瀏覽:679
為什麼黑程序員 瀏覽:162
程序員男生 瀏覽:455
戴爾文件夾內文件怎麼置頂 瀏覽:582
雲伺服器6m網速 瀏覽:722
vivo手機中國聯通伺服器地址 瀏覽:862
工程總控編譯失敗 瀏覽:706
燕趙紅楓app如何下載 瀏覽:867
php查殺軟體 瀏覽:878
教育管理學pdf 瀏覽:547
伺服器均衡怎麼使用 瀏覽:626
linux中jps 瀏覽:954
單片機實驗感想 瀏覽:561
程序員級別數學演算法邏輯 瀏覽:900
2k21公園怎麼換伺服器 瀏覽:724
php釋放資料庫連接 瀏覽:722
php網頁抓取工具 瀏覽:726
android設置對齊方式 瀏覽:23