ホームページ >バックエンド開発 >PHPチュートリアル >PHP で漢字と 16 進エンコーディングを変換する 3 つの方法
方法 2 、
文字列を返します。この文字列内の文字以外の文字は -_ を除きます。パーセント記号 (%) の後に 2 桁の 16 進数が続くものに置き換えてください。 デコードするには: rawurldecode 方法3、 gbkバージョン: gbk エンコードでは、中国語の文字は 2 つの文字で構成されます。 ord() 関数で取得した文字の ASCII 値が 127 より大きい場合、現在の文字は漢字の前半であると判断でき、漢字の後半を取得する必要があります。 もちろん、この判断方法は特定の開発環境と組み合わせる必要がありますが、ascii 値が 127 を超える文字が 1 つある場合、この判断方法は明らかに間違っています。 PHP で漢字を 10 進数に変換する原理は、for ループ メソッドを通じて漢字の 2 文字を取得し、ord() 関数を使用して各文字を 10 進数に変換することです。 上記は次のとおりです: いいえ [178 187] 欲しい [210 170] ファン [195 212] 愛 [193 181] 兄弟 [184 231] PHP は、中国語の文字を 16 進数に変換する原則を実装しています。 まず ord() 関数を使用して各漢字の 10 進数を取得します。詳しくは [ord() 関数と chr() 関数の応用をマスターするための php 関数の記事] を参照してください。その後、dechex() 関数を使用します。各漢字を 16 進数に変換します。 コード:
if(ord($string[$i])>127){ $result[] = ord($string[$i]).' string[++$i]).'.ord($string[++$i]); var_dump($result);
echo '
';
|