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

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

Jun 13, 2016 pm 01:08 PM
byte bytes param position val

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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HWID V 2.2 の手動アクティベーション方法とチュートリアル HWID V 2.2 の手動アクティベーション方法とチュートリアル Oct 20, 2023 pm 07:17 PM

これは手動アクティベーションを実行したいユーザー向けです。これを行うためのツールに関するサポートが必要な場合は、ここを確認してください。手動アクティベーションプロセスは 2 つの部分に分けることができます。 1- 既製のバッチ ファイルから、インターネットが有効になっていることを確認します。管理者として Windows Powershell を開き、次のように入力してコマンドを指定順に一覧表示します。キーを入力します (上記のリストのキーに置き換えます) 次のコマンドを使用します <key>slmgr/ipk<key> ここからユニバーサル チケットをダウンロードし、ダウンロードしたファイルを解凍します。次に、Powershell に次のコードを入力します (Get-ItemProper

CSS レイアウト プロパティの最適化のヒント: 位置スティッキーとフレックスボックス CSS レイアウト プロパティの最適化のヒント: 位置スティッキーとフレックスボックス Oct 20, 2023 pm 03:15 PM

CSS レイアウト属性の最適化のヒント:positionsticky と flexbox Web 開発において、レイアウトは非常に重要な側面です。優れたレイアウト構造により、ユーザー エクスペリエンスが向上し、ページがより美しく、ナビゲートしやすくなります。 CSS レイアウト プロパティは、この目標を達成するための鍵となります。この記事では、一般的に使用される 2 つの CSS レイアウト プロパティ最適化手法、positionsticky と flexbox を紹介し、具体的なコード例を示します。 1. ポジション

H5の位置属性の柔軟な応用スキル H5の位置属性の柔軟な応用スキル Dec 27, 2023 pm 01:05 PM

H5 でposition 属性を柔軟に使用する方法. H5 開発では、要素の配置とレイアウトが関係することがよくあります。このとき、CSS の位​​置プロパティが機能します。 Position 属性は、相対配置、絶対配置、固定配置、スティッキー配置など、ページ上の要素の配置を制御できます。この記事では、H5開発においてposition属性を柔軟に活用する方法を詳しく紹介します。

Golang関数のバイト、ルーン、文字列型変換スキル Golang関数のバイト、ルーン、文字列型変換スキル May 17, 2023 am 08:21 AM

Golang プログラミングでは、バイト、ルーン、文字列型は非常に基本的で一般的なデータ型です。これらは、文字列やファイル ストリームなどのデータ操作の処理において重要な役割を果たします。これらのデータ操作を実行するときは、通常、データを相互に変換する必要があるため、変換スキルを習得する必要があります。この記事では、読者がこれらのデータ型をより深く理解し、プログラミングの実践に上手に適用できるようにすることを目的として、Golang 関数のバイト、ルーン、および文字列の型変換テクニックを紹介します。

1バイトは何ビットに相当します 1バイトは何ビットに相当します Mar 19, 2021 pm 02:52 PM

1バイトは8ビットに相当します。データの保存は「バイト」(Byte)単位で行われ、データ送信は主に「ビット」(ビット)単位で行われ、1ビットが0か1(つまり2進数)を表し、8ビット(ビット)ごとに0または1を表します。 ) バイトは情報の最小単位であるため、「1Byte=8bit」となります。

HTMLの一番下にdivを置く方法 HTMLの一番下にdivを置く方法 Mar 02, 2021 pm 05:44 PM

HTML の下部に div を配置する方法: 1. 構文 "div{position:fixed;}" を使用して、position 属性を使用してブラウザ ウィンドウを基準にして div タグを配置します; 2. 下部までの距離を次のように設定します。 0 を指定すると、div がページの下部に永続的に配置されます。構文は「div{bottom:0;}」です。

golangの「unknown: bytes.Split」エラーを解決するにはどうすればよいですか? golangの「unknown: bytes.Split」エラーを解決するにはどうすればよいですか? Jun 25, 2023 pm 02:02 PM

Go 言語の bytes パッケージはバイト型を操作するためのパッケージであり、Split() メソッドなどの便利なメソッドが多数含まれています。ただし、Split() メソッドを使用すると、「未定義: bytes.Split」エラーが発生する可能性があります。このエラーは通常、Go バージョンに互換性がないこと、または必要な依存ライブラリが不足していることが原因で発生します。この記事では、このエラーを解決するいくつかの方法を紹介します。方法 1: 次のように Go バージョンをアップグレードします。

h5の位置の使い方 h5の位置の使い方 Dec 26, 2023 pm 01:39 PM

H5 では、position 属性を使用して、CSS を通じて要素の位置を制御できます: 1. 相対位置、構文は「style="position:relative;」です。 2. 絶対位置、構文は「style="position:」です。 Absolute;" "; 3. 固定位置、構文は「style="position:fixed;」などです。

See all articles