PHP UTF8をUnicodeに変換する方法
php utf8 を Unicode に変換する方法: 最初に PHP サンプル ファイルを作成し、次に「utf8_str_to_unicode」メソッドを定義し、次に ord 関数と dechex 関数を使用して変換関数を実装し、最後にファイルを実行します。
#PHP は Unicode と Utf-8 エンコーディング間の相互変換を実現します
Unicode エンコーディングの変換は、最近使っていたので、PHPのライブラリ関数を調べてみたのですが、Unicode文字列をエンコード・デコードできる関数が見つかりませんでした!まあ、それが見つからない場合は、自分で実装してください。 。 。Unicode と Utf-8 エンコードの違い
Unicode は文字セットであり、UTF-8 は Unicode の 1 つであり、Unicode は固定長です。 、UTF-8 は可変ですが、漢字の場合、Unicode は UTF-8 よりも 1 バイト少ない値を占めます。 Unicode は 2 バイトですが、UTF-8 の中国語文字は 3 バイトを占めます。 UTF-8 でエンコードされた文字は、理論的には最大 6 バイトの長さにすることができますが、16 ビット BMP (Basic Multilingual Plane) 文字の長さは最大 3 バイトのみです。 UTF-8 エンコーディング テーブルを見てみましょう:U-00000000 - U-0000007F: 0xxxxxxx U-00000080 - U-000007FF: 110xxxxx 10xxxxxx U-00000800 - U-0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx U-00010000 - U-001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx U-00200000 - U-03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx U-04000000 - U-7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
Unicode を Utf-8 に変換する方法
Unicode を UTF-8 に変換するには、もちろん違いが何であるかを知る必要があります。 Unicode のエンコーディングがどのように UTF-8 に変換されるかを見てみましょう。UTF-8 では、文字のバイトが 0x80 (128) 未満の場合、それは 1 バイトを占める ASCII 文字であり、 UTF-8 は ASCII エンコードと互換性があるため、変換する必要があります。 Unicode の漢字「君」のエンコードが「u4F60」の場合、100111101100000 にバイナリ変換し、UTF-8 方式で変換します。 Unicode バイナリから 2 進数を下位から上位まで、一度に 6 桁ずつ取り出すことができます。たとえば、上記の 2 進数を次の形式に取り出すことができます。以前のものは形式に従って埋められ、任意の8 ビット未満は 0 で埋められます。unicode: 100111101100000 4F60 utf-8: 11100100,10111101,10100000 E4BDA0
Utf-8 を Unicode に戻す方法
もちろん、UTF-8 から Unicode への変換もシフトなどによって行われます。 UTF-8 に変換 フォーマット内の対応する位置の 2 進数を抽出します。上の例では、「you」は 3 バイトであるため、上位ビットから下位ビットまで各バイトを処理する必要があります。 UTF-8 では、「あなた」は 11100100,10111101,10100000 です。上位ビット、つまり最初のバイト 11100100 から「0100」を取り出します。これは非常に簡単です。11111 (0x1F) と AND (&) を取るだけです。3 バイトから、毎回 6 桁が取得されるため、最上位は 12 ビット目より前でなければなりません。 したがって、結果は 12 ビット左にシフトする必要があり、最上位ビットは 0100,000000,000000 になります。 2 番目のビットは「111101」を取り出すため、2 番目のバイト 10111101 と 111111 (0x3F) を AND (&) するだけで済みます。結果を 6 ビット左にシフトし、最上位バイトまたは (|) の結果を取得すると、2 番目のビットが完成し、結果は 0100,111101,000000 になります。 同様に、最後の桁は 111111 (0x3F) と直接 AND (&) 演算され、次に前の結果と OR (|) 演算されて、結果 0100,111101,100000 が得られます。 PHP コードの実装/** * utf8字符转换成Unicode字符 * @param [type] $utf8_str Utf-8字符 * @return [type] Unicode字符 */ function utf8_str_to_unicode($utf8_str) { $unicode = 0; $unicode = (ord($utf8_str[0]) & 0x1F) << 12; $unicode |= (ord($utf8_str[1]) & 0x3F) << 6; $unicode |= (ord($utf8_str[2]) & 0x3F); return dechex($unicode); } /** * Unicode字符转换成utf8字符 * @param [type] $unicode_str Unicode字符 * @return [type] Utf-8字符 */ function unicode_to_utf8($unicode_str) { $utf8_str = ''; $code = intval(hexdec($unicode_str)); //这里注意转换出来的code一定得是整形,这样才会正确的按位操作 $ord_1 = decbin(0xe0 | ($code >> 12)); $ord_2 = decbin(0x80 | (($code >> 6) & 0x3f)); $ord_3 = decbin(0x80 | ($code & 0x3f)); $utf8_str = chr(bindec($ord_1)) . chr(bindec($ord_2)) . chr(bindec($ord_3)); return $utf8_str; }
$utf8_str = '我'; //这是汉字“你”的Unicode编码 $unicode_str = '4f6b'; //输出 6211 echo utf8_str_to_unicode($utf8_str) . "<br/>"; //输出汉字“你” echo unicode_str_to_utf8($unicode_str);
PHP チュートリアル 」
以上がPHP UTF8をUnicodeに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホット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)

ホットトピック









UTF8 でエンコードされた中国語文字は 3 バイトを占めます。 UTF-8 エンコードでは、1 つの中国語文字は 3 バイトに相当し、1 つの中国語の句読点は 3 バイトを占めますが、Unicode エンコードでは、1 つの中国語文字 (繁体字中国語を含む) は 2 バイトに相当します。 UTF-8 は各文字のエンコードに 1 ~ 4 バイトを使用します。1 つの US-ASCIl 文字のエンコードには 1 バイトのみが必要です。ラテン語、ギリシャ語、キリル文字、アルメニア語、および発音区別符号付きのヘブライ語。アラビア語、シリア語およびその他の文字は 2 バイトが必要です。エンコーディング。

PHP の深い理解: JSONUnicode を中国語に変換する実装方法 開発中、JSON データを処理する必要がある状況によく遭遇しますが、特に変換する必要がある場合、JSON 内の Unicode エンコードによっていくつかのシナリオで問題が発生します。 Unicode エンコードを漢字に変換する場合。 PHP では、この変換処理を実現するためのメソッドがいくつかありますが、以下では一般的なメソッドを紹介し、具体的なコード例を示します。まず、JSON の Un について理解しましょう

Unicode は、さまざまな言語や記号を表すために使用される文字エンコード標準です。 Unicode エンコードを中国語の文字に変換するには、Python の組み込み関数 chr() および ord() を使用できます。

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

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

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

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

ノード utf8 での中国語文字化けの解決策: 1. 「typeof」を通じて「SarchName」のタイプを確認します; 2. 「Name=iconv.decode(name,'gbk')」を使用してエンコーディングを utf8 に変換します。
