php字符串與byte字節(jié)數(shù)組轉(zhuǎn)化類示例
php?
??
/**?
?
*?byte數(shù)組與字符串轉(zhuǎn)化類?
?
*/
??
class Bytes {?
??
????
/**?
?????
*?轉(zhuǎn)換一個(gè)String字符串為byte數(shù)組?
?????
* @param $str 需要轉(zhuǎn)換的字符串?
?????
* @param $bytes 目標(biāo)byte數(shù)組?
?????
* @author Zikie?
?????
*/
??? public static function getBytes($string) {?
??????? $bytes = array();?
??????? for($i = 0; $i
???????????? $bytes[] = ord($string[$i]);?
??????? }?
??????? return $bytes;?
??? }?
??
????
/**?
?????
* 將字節(jié)數(shù)組轉(zhuǎn)化為String類型的數(shù)據(jù)?
?????
* @param $bytes 字節(jié)數(shù)組?
?????
* @param $str 目標(biāo)字符串?
?????
* @return 一個(gè)String類型的數(shù)據(jù)?
?????
*/
??
??? public static function toStr($bytes) {?
??????? $str = '';?
??????? foreach($bytes as $ch) {?
??????????? $str .= chr($ch);?
??????? }?
??
?????????? return $str;?
??? }?
??
????
/**?
?????
*?轉(zhuǎn)換一個(gè)int為byte數(shù)組?
?????
* @param $byt 目標(biāo)byte數(shù)組?
?????
* @param $val 需要轉(zhuǎn)換的字符串?
?????
*?
?????
*/
??
??? public static function integerToBytes($val) {?
??????? $byt = array();?
??????? $byt[0] = ($val & 0xff);?
??????? $byt[1] = ($val >> 8 & 0xff);?
??????? $byt[2] = ($val >> 16 & 0xff);?
??????? $byt[3] = ($val >> 24 & 0xff);?
??????? return $byt;?
??? }?
??
????
/**?
?????
* 從字節(jié)數(shù)組中指定的位置讀取一個(gè)Integer類型的數(shù)據(jù)?
?????
* @param $bytes 字節(jié)數(shù)組?
?????
* @param $position 指定的開始位置?
?????
* @return 一個(gè)Integer類型的數(shù)據(jù)?
?????
*/
??
??? public static function bytesToInteger($bytes, $position) {?
??????? $val = 0;?
??????? $val = $bytes[$position + 3] & 0xff;?
??????? $val
??????? $val |= $bytes[$position + 2] & 0xff;?
??????? $val
??????? $val |= $bytes[$position + 1] & 0xff;?
??????? $val
??????? $val |= $bytes[$position] & 0xff;?
??????? return $val;?
??? }?
??
????
/**?
?????
*?轉(zhuǎn)換一個(gè)shor字符串為byte數(shù)組?
?????
* @param $byt 目標(biāo)byte數(shù)組?
?????
* @param $val 需要轉(zhuǎn)換的字符串?
?????
*?
?????
*/
??
??? public static function shortToBytes($val) {?
??????? $byt = array();?
??????? $byt[0] = ($val & 0xff);?
??????? $byt[1] = ($val >> 8 & 0xff);?
??????? return $byt;?
??? }?
??
????
/**?
?????
* 從字節(jié)數(shù)組中指定的位置讀取一個(gè)Short類型的數(shù)據(jù)。?
?????
* @param $bytes 字節(jié)數(shù)組?
?????
* @param $position 指定的開始位置?
?????
* @return 一個(gè)Short類型的數(shù)據(jù)?
?????
*/
??
??? public static function bytesToShort($bytes, $position) {?
??????? $val = 0;?
??????? $val = $bytes[$position + 1] & 0xFF;?
??????? $val = $val
??????? $val |= $bytes[$position] & 0xFF;?
??????? return $val;?
??? }?
??
}?
?>
以上就介紹了php字符串與byte字節(jié)數(shù)組轉(zhuǎn)化類示例,包括了方面的內(nèi)容,希望對(duì)PHP教程有興趣的朋友有所幫助。
PHP怎么學(xué)習(xí)?PHP怎么入門?PHP在哪學(xué)?PHP怎么學(xué)才快?不用擔(dān)心,這里為大家提供了PHP速學(xué)教程(入門到精通),有需要的小伙伴保存下載就能學(xué)習(xí)啦!
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://m.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)