PHP utf-8 から Unicode 関数ページ 1/2_PHP チュートリアル
UTF エンコード
UTF-8 は、UCS を 8 ビット単位でエンコードします。 UCS-2 から UTF-8 へのエンコード方法は次のとおりです。
UCS-2 エンコード(16 進数)
UTF-8 バイトストリーム(バイナリ)
0000 - 007F
0xxxxxxx
0080 - 07FF
110xxxxx 10xxxxxx
0800 - FFFF
1110xxxx 10xxxxxx 10xxxxxx
たとえば、「中国語」文字の Unicode エンコードは 6C49 であり、6C49 は 0800 から FFFF の間にあるため、3 バイトのテンプレートを使用する必要があります: 1110xxxx 10xxxxxx 10xxxxxx。 6C49 をバイナリで書くと、0110 110001 001001 となります。このビット ストリームを使用してテンプレート内の x を順番に置き換えると、11100110 10110001 10001001、つまり E6 B1 89 が得られます。
ついにunicodeとutf8間の変換が完了しました。
utf-8でエンコードされた文字chが3バイトの場合。 xx yy zz
AND xx と 1F で a を取得
AND yy と 7F で b を取得
AND zz と 7F で c を取得
(64a+b)*64+c = ch (Unicode エンコーディング)
echo.php何もない。ほんの少しの機能です。
");
//Unicode ファイルの書き込み
$ucs2data = utf8ToUnicode($data,"little");
$endian = chr(0xFE).chr(0xFF);
$endian = chr(0xFF).chr( 0xFE );
$rt = file_put_contents ("ucs2.txt", $endian.$ucs2data);
//19:32、utf8toUnicode 関数は成功しました
//20:09。 . .
//ビッグ エンディアン モードで保存された Unicode 文字列は ue または editplus では認識できません。
//utf8 ファイル
$utf8data = unicodeToUtf8 ucs2data); // 20:52。文字列を utf8 コードに変換します。
$rt = file_put_contents ( "utf8.txt", $utf8data);
$esc = utf8Escape($data);
$esc = phpEscape($esc); ;
/**
* この関数は、utf8 エンコードされた文字列を Unicode エンコードされた文字列に変換します。
* パラメータ str、utf8 エンコードされた文字列。
* パラメータの順序、データの格納形式、ビッグ エンディアンかリトル エンディアンか、デフォルトの Unicode 格納順序は少です。
* 例: 「big」の Unicode コードは 5927 です。リトル モードのストレージは 27 59 です。ビッグ モードでは、順序は変更されません: 59 27.
* リトル フォーマット ファイルの先頭には FF FE が必要です。ビッグフォーマットで保存されたファイルは FE FF で始まります。さもないと。深刻な混乱が生じるだろう。
* この関数は文字を変換するだけであり、ヘッダーの追加は行いません。
* iconvで変換された文字列はビッグエンディアンで格納されます。
* 変換された文字列である ucs2string を返します。
* 小言をありがとう (xuzuning)
*/
function utf8ToUnicode($str,$order="little")
{
$n=strlen($str ); ;$i0x80) { //110xxxxx 10xxxxxx
$a = (ord($str[$i]) & 0x3F )0x80 && ord($str[$i+2])> 0x80) { //1110xxxx 10xxxxxx 10xxxxxx
$a = (ord($str[$i]) & 0x1F) utf8 エンコード文字列に変換します
* パラメータ str、unicode エンコード文字列
* パラメータ順序、unicode 文字列 格納順序はビッグ エンディアンまたはリトル エンディアンです
* を返します。 utf8string、変換された文字列。
*
*/
function unicodeToUtf8($str,$order="little")
{
$utf8string =""
$n=strlen($str); .
$i++; // 2 バイトは Unicode 文字を表します。
$c = ""
}
return $utf8string;
} // 関数を終了します
/ *
* utf8 でエンコードされた文字列をエスケープに相当する Unicode パターンにエンコードします
* utf8 コードのみが受け入れられる理由は、utf8 コードと Unicode の間の変換は数式のみであり、他のコードはコード テーブルを参照して変換する必要があるためです
. * utf8 コードを見つける通常の方法が完全に混乱しているかどうかはわかりません
* ただし、コードは明確なので、あまり効率的ではありません。
*/
function utf8Escape($str) {
preg_match_all("/[\xC0-\xE0].|[\xE0-\xF0]..|[\x01-\] が埋め込まれています。 x7f]+/", $str,$r);
//prt($r);
$ar = $r[0];
foreach($ar as $k=>$v) {
$ord = ord($v[0]);
if( $ordutf8 コード
$ar[$k] = "%u".utf2ucs($v);
}
elseif ($ordutf8 コード
$ar[$k] = "%u".utf2ucs($v);
}
}//foreach
return join("",$ar);
/**
*
* utf8 エンコードされた文字を ucs-2 エンコードに変換します
* パラメーター utf8 でエンコードされた文字
* コード値がわかったら、chr を使用して文字を取得できます。
*
* 原理: Unicode を utf-8 コードに変換するアルゴリズムは次のとおりです。 . .
このプロセスの逆のアルゴリズムがこの関数であり、ヘッドが固定され、反転されます。
*/
function utf2ucs($str){
$n=strlen($str);
if ($n=3) {
$highCode = ord($str[0]);
$midCode = ord($) str[1]);
$a = 0x1F & $highCode
$c = 0x7F & $ucsCode; (64*$a + $b)*64 + $c;
}
elseif ($n==2) {
$highCode = ord($str[0]);
$lowCode = ord($str[1]) ]);
$a = 0x3F & $highCode; //0x3F は 0xC0$b = 0x7F & $lowCode の補数です
$ucsCode = 64*$a + $b; }
elseif($n==1) {
$ucscode = ord($str);
}
return dechex($ucsCode);
}
/*
* 使用法: この関数はエスケープ関数を反転するために使用されます。 JavaScript エンコードされた文字。
* キーの通常の検索に問題があるかどうかはわかりません
* パラメータ: JavaScript でエンコードされた文字列。
* 例: unicodeToUtf8("%u5927")= big
* 2005-12-10
*
*/
function phpUnescape($escstr){
preg_match_all("/%u[0-9A-Za-z] { 4}|%.{2}|[0-9a-zA-Z.+-_]+/",$escstr,$matches); //prt($matches);
$ar = &$matches[ 0 ];
$c = "";
foreach($ar as $val){
if (substr($val,0,1)!="%") { //英数字+-_の場合. Code
$c .=$val;
}
elseif (substr($val,1,1)!="u") { //非英数字の場合
$x = hexdec(substr ($val,1,2));
$c .=chr($x);
}
else { //0xFF より大きいコードの場合
$val = intval($val, 2),16) ;
if($val %u".bin2hex( iconv( 'gbk' ,"UCS-2",$chars[$i].$chars[$i+1] ) );
$i++ ;
}
} //foreach
return $ar
?>
http://www.bkjia.com/PHPjc/319074.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 にアップグレードする方法について説明します。

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

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
