ホームページ バックエンド開発 PHPの問題 PHPで文字列をバイト配列に変換する方法

PHPで文字列をバイト配列に変換する方法

Apr 20, 2023 pm 01:53 PM

PHP では、いくつかのメソッドを使用して文字列をバイト配列に変換できます。この記事では、最も一般的な 2 つの方法に焦点を当てます。

方法 1: str_split 関数を使用する

str_split(string$string, int$split_length = 1): 文字列を部分文字列に分割し、配列に入れて、配列を返します。各文字列の長さは、split_length パラメータで指定された長さになります。 split_length が指定されていない場合、デフォルトは 1 になります。

次は、文字列をバイト配列に変換するサンプル コードです。

$str = "Hello World!";
$bytes = str_split($str);

foreach($bytes as $byte) {
    echo ord($byte) . " ";
}
ログイン後にコピー

このサンプル コードでは、ord 関数を使用して各文字を ASCII コードに変換し、foreach を使用しています。ループはバイト配列をコンソールに出力します。出力は次のようになります。

72 101 108 108 111 32 87 111 114 108 100 33
ログイン後にコピー
ログイン後にコピー

方法 2: unpack 関数を使用する

この方法では、pack 関数を使用して文字列をバイナリ データにパックする必要があります。また、unpack 関数を使用する場合は、パックされたデータ型を指定し、戻り値をバイト配列に変換する必要があります。

以下はサンプル コードです。

$str = "Hello World!";
$bytes = unpack('C*', pack('H*', bin2hex($str)));

foreach($bytes as $byte) {
    echo $byte . " ";
}
ログイン後にコピー

このサンプル コードでは、bin2hex を使用して文字列を 16 進文字列に変換し、それを Pack を使用してバイナリ データにパックしています。 unpack を使用する場合、C 型の共有シンボルを使用してデータをアンパックし、foreach ループを使用してバイト配列を出力します。

出力は次のようになります:

72 101 108 108 111 32 87 111 114 108 100 33
ログイン後にコピー
ログイン後にコピー

要約すると、これらは、PHP で文字列をバイト配列に変換する 2 つの方法です。これらのメソッドがどのように機能するかを理解することは、さまざまな暗号化/復号化操作を実行する必要がある開発者にとって重要です。

以上がPHPで文字列をバイト配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

最新のPHPコーディング基準とベストプラクティスは何ですか? 最新のPHPコーディング基準とベストプラクティスは何ですか? Mar 10, 2025 pm 06:16 PM

最新のPHPコーディング基準とベストプラクティスは何ですか?

PHP拡張機能とPECLを使用するにはどうすればよいですか? PHP拡張機能とPECLを使用するにはどうすればよいですか? Mar 10, 2025 pm 06:12 PM

PHP拡張機能とPECLを使用するにはどうすればよいですか?

PHPにメッセージキュー(rabbitmq、redis)を実装する方法は? PHPにメッセージキュー(rabbitmq、redis)を実装する方法は? Mar 10, 2025 pm 06:15 PM

PHPにメッセージキュー(rabbitmq、redis)を実装する方法は?

PHPアレイの重複排除のための最適化手法は何ですか PHPアレイの重複排除のための最適化手法は何ですか Mar 03, 2025 pm 04:50 PM

PHPアレイの重複排除のための最適化手法は何ですか

PHPアレイの重複排除は、キー名の一意性を利用できますか? PHPアレイの重複排除は、キー名の一意性を利用できますか? Mar 03, 2025 pm 04:51 PM

PHPアレイの重複排除は、キー名の一意性を利用できますか?

PHPアレイの重複排除は、パフォーマンスの損失について考慮する必要がありますか? PHPアレイの重複排除は、パフォーマンスの損失について考慮する必要がありますか? Mar 03, 2025 pm 04:47 PM

PHPアレイの重複排除は、パフォーマンスの損失について考慮する必要がありますか?

PHPアレイの重複排除のためのベストプラクティスは何ですか PHPアレイの重複排除のためのベストプラクティスは何ですか Mar 03, 2025 pm 04:41 PM

PHPアレイの重複排除のためのベストプラクティスは何ですか

リフレクションを使用してPHPコードを分析および操作する方法は? リフレクションを使用してPHPコードを分析および操作する方法は? Mar 10, 2025 pm 06:12 PM

リフレクションを使用してPHPコードを分析および操作する方法は?

See all articles