ホームページ >バックエンド開発 >PHPチュートリアル >PHP は Java のバイト配列変換を実装します

PHP は Java のバイト配列変換を実装します

WBOY
WBOYオリジナル
2016-06-13 13:08:16974ブラウズ

PHP は Java のバイト配列変換を実装します

仕事の必要により、Java のバイト配列変換を実装する PHP クラスを作成しました。



/**
?* バイト配列と文字列変換クラス
?* @著者ジキエ
?* 2011-7-15 作成
?*/

クラスバイト {
???
???/**
???? * 文字列をバイト配列に変換します
???? * @param $str 変換される文字列
???? * @param $bytes ターゲットバイト配列
???? * @著者Zikie
????*/
????
??? パブリック静的関数 getBytes($str) {

??? $len = strlen($str);
??? $bytes = 配列();
?? ??? for($i=0;$len;$i++) {
?? ??? ??? if(ord($str[$i]) >= 128) ?? ??? ??? $byte = 256;
?? ??? }その他{ ??? ??? $byte = ord($str[$i]);
?? ??? }
??????? $バイト[] =?
??? }
??? $バイトを返します;
???}
???
???/**
???? * バイト配列を文字列型データに変換します
???? * @param $bytes バイト配列
???? * @param $str ターゲット文字列
???? * @文字列型のデータを返します
????*/
????
???パブリック静的関数 toStr($bytes) {
??? $str = '';
??? ??? foreach($ch としての $bytes) {
??????? $str .= chr($ch);
??? }

?? ??? $str;
を返します ???}
???
???/**
???? * int をバイト配列に変換します
???? * @param $byt ターゲットバイト配列
???? * @param $val 変換される文字列
???? * @著者Zikie
????*/
???
???パブリック静的関数 integerToBytes($val) {
??? $byt = 配列();
??? $byt[0] = ($val & 0xff);
??? $byt[1] = ($val >>> 0xff);
??? $byt[2] = ($val >>> 0xff);
??????? $byt[3] = ($val >> 24 & 0xff); ??????? $byt を返します;
???}
???
???/**
???? * バイト配列
の指定位置から整数型データを読み取ります ???? * @param $bytes バイト配列
???? * @param $position 指定された開始位置
???? * @整数型のデータを返します
????*/
????
???パブリック静的関数 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;
??????? $val を返します;
???}

???/**
???? * 短い文字列をバイト配列に変換します
???? * @param $byt ターゲットバイト配列
???? * @param $val 変換される文字列
???? * @著者Zikie
????*/
???
??? パブリック静的関数 shortToBytes($val) {
??? $byt = 配列();
??? $byt[0] = ($val & 0xff);
??????? $byt[1] = ($val >>> 0xff);
??????? $byt を返します;
???}
???
???/**
???? * バイト配列の指定位置から Short 型データを読み込みます。
???? * @param $bytes バイト配列
???? * @param $position 指定された開始位置
???? * @Short 型データを返します
????*/
????
???パブリック静的関数 bytesToShort($bytes, $position) {
??????$val = 0;
??????? $val = $bytes [$position + 1] & 0xFF; ??????? $val = $val
??????? $val |= $bytes[$position] & 0xFF;
??????? $val を返します;
???}
???
}
?>



1階 トロンルー 2012-02-06
暗号化には 3des が使用されますか?

2階 天国__18 2012-03-13
さまざまな場所で使用できます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。