PHP6的新特性:Unicode和TextIterator
Jun 08, 2016 pm 05:32 PM我剛剛安裝了PHP6 DEV版本,決定測(cè)試一下PHP6的新特性-PHP的Unicode支持。我并沒(méi)有打算講PHP6的新特性或者是Unicode,下面僅僅是我做的關(guān)于Unicode的測(cè)試。
首先要做的是讓php6支持Unicode,在php.ini文件中修改。
;;;;;;;;;;;;;;;;;;;;
; Unicode settings ;
;;;;;;;;;;;;;;;;;;;;unicode.semantics = on
unicode.runtime_encoding = utf-8
unicode.script_encoding = utf-8
unicode.output_encoding = utf-8
unicode.from_error_mode = U_INVALID_SUBSTITUTE
unicode.from_error_subst_char = 3f
由于我使用的是法語(yǔ)和英語(yǔ)有所不同,有一些字符需要處理。
所以,我第一次試驗(yàn)的目的是檢驗(yàn)strlen功能的Unicode …
$word = "être";
echo "Length: ".strlen($word);
結(jié)果是: Length: 4? 。結(jié)果非常的正確… …但它僅僅是個(gè)開始! : )
我的第二個(gè)測(cè)試對(duì)象是與PHP6新的SPL中的TextIterator textiterator
$word = "être";
foreach (new TextIterator($word, TextIterator::CHARACTER) as $character) {
? var_inspect($character);
}
輸出: unicode(1) “ê” { 00ea } unicode(1) “t” { 0074 } unicode(1) “r” { 0072 } unicode(1) “e” { 0065 }
分解單詞,得到了很多的字母和字母的信息…
TextIterator::CHARACTER的操作看上去非常的強(qiáng)大啊,不過(guò)TextIterator::WORD更強(qiáng)大
$sentences = "Bonjour, nous sommes Fran?ais ! A?e :)";
foreach (new TextIterator($sentences, TextIterator::WORD) as $word) {
??? var_inspect($word);
}
得到的結(jié)果: unicode(7) “Bonjour” { 0042 006f 006e 006a 006f 0075 0072 } unicode(1) “,” { 002c } unicode(1) ” ” { 0020 } unicode(4) “nous” { 006e 006f 0075 0073 } unicode(1) ” ” { 0020 } unicode(6) “sommes” { 0073 006f 006d 006d 0065 0073 } unicode(1) ” ” { 0020 } unicode(8) “Fran?ais” { 0046 0072 0061 006e 00e7 0061 0069 0073 } unicode(1) ” ” { 0020 }

ホットAIツール

Undress AI Tool
脫衣畫像を無(wú)料で

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

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

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

人気の記事

ホットツール

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

SublimeText3 中國(guó)語(yǔ)版
中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1
強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

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

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

ホットトピック











PHP の深い理解: JSONUnicode を中國(guó)語(yǔ)に変換する実裝方法 開発中、JSON データを処理する必要がある狀況によく遭遇しますが、特に変換する必要がある場(chǎng)合、JSON 內(nèi)の Unicode エンコードによっていくつかのシナリオで問(wèn)題が発生します。 Unicode エンコードを漢字に変換する場(chǎng)合。 PHP では、この変換処理を?qū)g現(xiàn)するためのメソッドがいくつかありますが、以下では一般的なメソッドを紹介し、具體的なコード例を示します。まず、JSON の Un について理解しましょう

Unicode は、さまざまな言語(yǔ)や記號(hào)を表すために使用される文字エンコード標(biāo)準(zhǔn)です。 Unicode エンコードを中國(guó)語(yǔ)の文字に変換するには、Python の組み込み関數(shù) chr() および ord() を使用できます。

JSON (JavaScriptObjectNotation) は、Web アプリケーション間のデータ交換に一般的に使用される軽量のデータ交換形式です。 JSON データを処理するとき、Unicode でエンコードされた中國(guó)語(yǔ)の文字 (「u4e2du6587」など) が頻繁に発生するため、それらを読み取り可能な中國(guó)語(yǔ)の文字に変換する必要があります。 PHP では、いくつかの簡(jiǎn)単なメソッドを通じてこの変換を?qū)g現(xiàn)できます。次に、JSONUnico を変換する方法を詳しく説明します。

Eclipseで中國(guó)語(yǔ)の文字化けに悩んでいませんか?これらのソリューションを試すには、特定のコード サンプルが必要です。 1. 背景の紹介 コンピューター技術(shù)の継続的な発展に伴い、ソフトウェア開発において中國(guó)語(yǔ)がますます重要な役割を果たしています。しかし、多くの開発者は、中國(guó)の開発に Eclipse を使用するとコードの文字化けの問(wèn)題に遭遇し、作業(yè)効率に影響を及ぼします。次に、この記事では、一般的なコードの文字化けの問(wèn)題をいくつか紹介し、読者が Eclipse での中國(guó)語(yǔ)の文字化けコードの問(wèn)題を解決できるように、対応する解決策とコード例を示します。 2. 一般的なコード文字化けの問(wèn)題と解決策ファイル

php提交表單通過(guò)后,彈出的對(duì)話框怎樣在當(dāng)前頁(yè)彈出php提交表單通過(guò)后,彈出的對(duì)話框怎樣在當(dāng)前頁(yè)彈出而不是在空白頁(yè)彈出?想實(shí)現(xiàn)這樣的效果:而不是空白頁(yè)彈出:------解決方案--------------------如果你的驗(yàn)證用PHP在后端,那么就用Ajax;僅供參考:HTML code

Unicode と ASCII の違いには、エンコード範(fàn)囲の違い、記憶域の違い、互換性の違いなどが含まれます。詳細(xì)な紹介: 1. エンコード範(fàn)囲が異なります。ASCII のエンコード範(fàn)囲は 0 ~ 127 で、主に英語(yǔ)の文字を表すために使用されます。Unicode のエンコード範(fàn)囲はさらに広く、ほぼすべての言語(yǔ)の文字を表すことができます。2. ストレージASCII は通常 1 バイトを使用して文字を格納しますが、Unicode は 2 バイト以上を使用して文字を格納する場(chǎng)合があります; 3. 互換性の違いなど

ビッグ データやクラウド コンピューティングなどのテクノロジーの発展に伴い、データベースは企業(yè)情報(bào)化の重要な基盤の 1 つになりました。 Java で開発されたアプリケーションでは、MySQL データベースに接続することが標(biāo)準(zhǔn)になっています。ただし、このプロセスでは、一貫性のない Unicode 文字セットのエンコーディングという厄介な問(wèn)題に遭遇することがよくあります。これは開発効率に影響を與えるだけでなく、アプリケーションのパフォーマンスと安定性にも影響します。この記事では、この問(wèn)題を解決し、Java が MySQL データベースによりスムーズに接続できるようにする方法を紹介します。 1. ユニコード

シーケンシャル アクセス シーケンシャル アクセスは、Java 言語(yǔ)で文字列を処理するための基本操作です。このアプローチでは、入力文字列內(nèi)の各文字は、最初から最後まで、または場(chǎng)合によっては最後から最初まで順?lè)衰ⅴ互工丹欷蓼?。このセクションでは、シーケンシャル アクセス方式を使用して文字列から 32 ビット コード ポイント配列を作成する 7 つの技術(shù)例について説明し、その処理時(shí)間を見(jiàn)積もります。例 1-1: ベンチマーク (サロゲート ペアのサポートなし) リスト 1 では、サロゲート ペアをまったく考慮せずに、16 ビットの char 型の値を 32 ビットのコード ポイント値に直接割り當(dāng)てています。ペア int[]toCodePointArray(Stringstr) {//例 1-1intlen=str.length();//t
