gb2312.txt のコピー (184799 バイト) は実際には大きすぎるため、Unicode に変換する必要があります。
この比較表は 51965 バイトで、これよりはるかに小さいです。
iconv 関数ライブラリが使用できない状況でも非常に実用的です。
//比較テーブルの使用
$filename = "gb2utf8.txt";
$fp = fopen($filename,"r"); while(! feof($fp)) {
list($gb,$utf8) = fgetcsv($fp,10);
$charset[$gb] = $utf8; fclose($fp);
//後で使用するために上記の比較表を配列に読み込みます
/**gb2312 から utf-8**/
function gb2utf8($text, &$charset) {
//テキストからコンポーネントを抽出します。中国語文字は 1 つの要素、連続する非中国語文字は 1 つの要素です
preg_match_all("/(?:[x80-xff].)|[x01-x7f] / ",$text,$ tmp);
$tmp = $tmp[0];
//漢字を区切る
$ar = array_intersect($tmp, array_keys($charset));
//中国語の文字エンコーディングを置き換えます
foreach($ar as $k=>$v)
$tmp[$k] = $charset[$v]
//エスケープされた文字列を返します
return join(' ',$tmp);
}
/**utf-8 から gb2312**/
function utf82gb($text, &$charset) {
$p = " /[xf0-xf7 ][x80-xbf]{3}|[xe0-xef][x80-xbf]{2}|[xc2-xdf][x80-xbf]|[x01-x7f] /";
preg_match_all($p ,$text,$r);
$utf8 = array_flip($charset);
foreach($r[0] as $k=>$v)
if(isset) ($utf8[$ v]))
$r[0][$k] = $utf8[$v];
return join('',$r[0]); 🎜>
//Test
$s = gb2utf8('これは比較テーブルのテストです', $charset);
echo utf82gb($s, $charset)>?

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

Dreamweaver Mac版
ビジュアル Web 開発ツール

WebStorm Mac版
便利なJavaScript開発ツール

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