ホームページ >バックエンド開発 >PHPチュートリアル >PHP は Java のバイト配列変換を実装します
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 が使用されますか?