『壹』 php怎麼將數組變成字元串
使用PHP implode 函數:將數組元素組合為字元串。實現代碼如下:
(1)php轉位元組流擴展閱讀:
注意事項:
1、根據實際情況,可以選擇空格作為連接符或者特殊符號作為連接符以便後續的字元串處理操作。
2、連接符參數 glue 默認是可以為空的,但為了向後兼容,推薦仍然使用該參數。
3、implode()函數可安全用於二進制對象。
『貳』 PHP如何將從二進制文件中讀取的位元組轉換為數字
bindec函數可轉換二進制數為十進制數
『叄』 thinkphp 如何將數組轉換成字元串
string serialize ( mixed $value )
serialize() 返回字元串,此頌尺字元串包野悉高含了表示 value 的位元組流,可以存儲於任何地方。
這陸空有利於存儲或傳遞 PHP 的值,同時不丟失其類型和結構。
想要將已序列化的字元串變回 PHP 的值,可使用 unserialize()。
serialize() 可處理除了 resource 之外的任何類型。
比如:
<?php
$array = array('a'=>'aa','b'=>'bb');
$str = serialize($array);
echo $str;
$array_temp = unserialize($str);
print_r($array_temp);
?>
『肆』 現在想用php端做一個流媒體出來(m3u8),一點思路也沒有,大家給點意見好嗎
首先是要搞清m3u8文件頭信息,然後可以用二進制位元組數組來實現,如我用二進製做的圖片程序:
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Diagnostics;
namespace BMP
{
class Program
{
static void Main(string[] args)
{
int w = 800; int h =600;
//BMP文件頭信息:
long s3 = w * h * 3;
byte[] b = new byte[s3 + 54]; //image.bmp圖片文件總位元組數;
putByte(18, w, b);
putByte(22, h, b);
putByte(34, s3, b);
putByte(2, s3 + 54, b);
putByte(0, 0x42, b);
putByte(1, 0x4d, b);
putByte(10, 0x36, b);
putByte(14, 0x28, b);
putByte(26, 0x01, b);
putByte(28, 0x18, b);
//查看BMP頭文件:
//for (int i = 0; i < 0x36;i++ )
//{
//Console.Write("{1:X2},",b[i]);
// if ((i+1) % 16 == 0) Console.WriteLine();
//}
//對各像素顏色賦值(上背景色):
for (int i = 0; i < s3 - 2; i += 3)
{
long p = i + 0x36;
b[p] = (byte)(i/(10*h)); //blue
//b[p + 1] = 150; //green
b[p + 2] = (byte)(i/(10*h)); //red
}
//畫n個漸變色的圓:
for (int r = 0; r <300; r++)
{
for (double q = 0; q < 36.28; q += .01)
{
int x0 = 400; int y0 = 100;
int x = (int)(x0 + r * Math.Sin(q*.5));
int y = (int)(y0 - .2*r* Math.Cos(q*2));
long p =(long)(3 * (w * y + x) + 0x36);
if (p <= s3-2 && p >= 0) b[p] = (byte)(r *5); //blue
if (p <= s3-2 && p >= 0) b[p + 1] = (byte)(r*3); //green
if (p <= s3-2 && p >= 0) b[p + 2] = (byte)(255 - r); //red
}
}
//保存為二進制文件:
FileStream filesstream = new FileStream("image.bmp", FileMode.Create);
BinaryWriter objBinaryWriter = new BinaryWriter(filesstream);
foreach (byte index in b)
{
objBinaryWriter.Write(index);
}
objBinaryWriter.Close();
filesstream.Close();
//打開文件:
Process.Start("image.bmp");
//Console.ReadKey();
}
//轉十六進制位元組流:
static void putByte(long p, long v, byte[] b)
{
string hexString = Convert.ToString(v, 16);
if ((hexString.Length % 2) != 0)
hexString = "0" + hexString;
int gc = hexString.Length / 2;
for (int i = 0; i < gc; i++)
{
b[gc + p - i - 1] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);
}
}
}
}
『伍』 需要用php做個webservices,功能是根據一個標識符來返回一段對應的位元組流
有原理幹嘛,能連起來就是了
『陸』 求指教!,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如何將二進制字元串轉換成二進制流
當字元串處理轉毀羨換就行
/**
* 將字元串轉換成二進制
* @param type $str
* @return type
*/
function StrToBin($str){
//1.列出每個字元
$arr = preg_split('/大腔(?<!^)(?!$)/u', $str);
//2.unpack字元
foreach($arr as &$v){
$temp = unpack('H*', $v); $v = base_convert($temp[1], 16, 2);
纖仿拍unset($temp);
}
return join(' ',$arr);
}
『捌』 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中,怎樣把數字轉化為字元串
步驟如下:
1、首先新建一個PHP文檔,並定義一個數組,示例:
$arr = array("I","have","an","apple");
(9)php轉位元組流擴展閱讀:
一、C語言類型強制轉換注意事項
1、類型說明符和表達式都必須加括弧(單個變數可以不加括弧),如把(int)(x+y)寫成(int)x+y則成了把x轉換成int型之後再與y相加了。
2、無論是強制轉換或是自動轉換,都只是為了本次運算的需要而對變數的數據長度進行的臨時性轉換,而不改變數據說明時對該變數定義的類型。
二、PHP的數據類型轉換三種方式
1、 強制轉換
2、轉換函數,intval()、floatval()、strval()
3、通用類型轉換函數settype(mixed var,string type)
三、PHP的特性包括:
1、PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創新的語法。
2、PHP可以比CGI或者Perl更快速的執行動態網頁——動態頁面方面,與其他的編程語言相比PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成htmL標記的CGI要高許多;PHP具有非常強大的功能,所有的CGI的功能PHP都能實現。
3、PHP支持幾乎所有流行的資料庫以及操作系統。
4、最重要的是PHP可以用C、C++進行程序的擴展。
『拾』 PHP伺服器怎樣返回數據給客戶端反饋HTTP POST請求,發送位元組流數據給客戶端
你用fread 來讀取文件,header不行