PHP が UTF-8 文字列を正しく解析するスキル application_PHP チュートリアル
「PHPとMYSQLを学ぶ - 文字エンコーディング(前編)」では、UnicodeとUTF-8の変換関係を紹介し、このエンコーディング規則に基づいてUTF-8エンコーディング解析プログラムをまとめます。
$str = '今日はとても幸せです、みんなはコーラの手羽先を食べにKFCに行くことに決めました!!!';
/*
$str はインターセプトされる文字列です
$len は数値ですインターセプトする文字数
*/
function utf8sub($str,$len) {
if($len <= 0){
return ''; // インターセプト時のオフセット-order byte
$chars = 0; // インターセプトされた文字の数
$res = ''; // インターセプトされた結果の string
while($chars < $len){
// の最初のバイトを取得しますまず文字列
// 10 進数に変換します
// 次に 2 進数に変換します
$high = ord(substr($str,$offset,1));
// echo '$high='.'
';
if($high == null ){ // 上位ビットが null の場合は、最後までフェッチされたことを示し、直接中断します
break
}
if(( $high>>2) == = 0x3F){ // 上位ビットを右に 2 ビットシフトし、バイナリ 111111 と比較します。同じ場合は 6 バイトを取得します
// 2 バイトをインターセプトします
$count = 6;
}else if(($high>> 3) === 0x1F){ // 上位ビットを右に 2 ビットシフトし、バイナリ 11111 と比較します。同じ場合は 5 バイトを取得します。
// 3 バイトをインターセプト
$count = 5;
}else if(($ high>>4) === 0xF){ // 上位ビットを 2 ビット右にシフトし、バイナリ 1111 と比較します。同じ場合は 4 バイトを取得します
// 4 バイトをインターセプトします
$count = 4;
} else if(($high>>5) === 0x7){ // 上位ビットを右にシフトします2 ビットずつ増やしてバイナリ 111 と比較します。同じ場合は 3 バイトを取得します
// 5 バイトをインターセプトします
$count = 3;
}else if(($high>>6) === 0x3) { // 上位ビットを右に 2 ビットシフトし、バイナリ 11 と比較します。同じ場合は 2 バイトを取得します
// 6 ワードをインターセプト セクション
$count = 2
}else if(($high> ;>7) === 0x0){ // 上位ビットを右に 2 ビットシフトし、バイナリの 0 と比較し、同じ場合は 1 バイトを取る
$count = 1
}
// echo '$count='.$count.'
';
$res .= substr($str,$offset,$count); // $res文字列と連結します
$ chars += 1; // インターセプトされた文字数 + 1
$offset += $count; // 上位オフセットをインターセプトし、$count バイトを後方に移動します
}
return $res
}
echo utf8sub($str,100) );
http://www.bkjia.com/PHPjc/326131.html
www.bkjia.com
true

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
