PHPを使用してgb2312とunicode間のエンコード変換を実装する
gb2312 と unicode の間のコーディング変換
次の例は、gb2312 を「完全な」形式に変換するものです
php4.3.1 以降の iconv 関数は非常に使いやすく、自分で uft8 を書いて Unicode にするだけです。変換関数
ルックアップ テーブル (gb2312.txt) も使用できます
コードをコピー コードは次のとおりです:
$text = "スクリプト ホーム"
preg_match_all("/[x80-xff]?./",$text,$ar); as $v)
echo "".utf8_unicode(iconv("GB2312","UTF-8",$v)).";"
> >// utf8 -> unicode
function utf8_unicode($c) {
switch(strlen($c)) {
case 1:
return ord($c); 2:
$n = (ord($c[0]) & 0x3f) <<6;
$n = ord($c[1]) & 0x3f;
ケース 3:
$n = (ord($c[0]) & 0x1f)
$n = (ord($c[1]) & 0x3f) <
$n = ord($c[2]) & 0x3f;
$n を返す:
$n = ($c[0]) & 0x0f)
$n = (ord($c[1]) & 0x3f)
$n = (ord($c[2]))
$n = ord($c[3]) & 0x3f>
}
?>
以下の例では、PHP を使用して「完全な」エンコーディングを gb2312 に変換します。
コードをコピーします。
コードは次のとおりです。
< ?php
$str = preg_replace("|([0-9]{1,5}); |", "".u2utf82gb(\1 )."", $str);
$str = "$str="$str";";
eval($str); echo $ str; 関数 u2utf82gb($c ){ $str=""; if ($c <0x80) {
$str.=$c>} else if ( $c <0x800) { $str.=chr(0xC0 | $c>>6);
$str.=chr(0x80 | $c & 0x3F); $c $str.=chr(0xE0 | $c>>12);
$str.=chr(0x80 | $c>>6 & 0x3F); $str.=chr(0x80 | $c & 0x3F);
} else if ($c $str.=chr(0xF0 | $c>>18); $str.=chr(0x80 | $c>>12 & 0x3F);
$str.=chr(0x80 | $c>>6 & 0x3F); $c & 0x3F);
}
return iconv('UTF-8', 'GB2312', $str)
}
?> または
コードをコピー
コードは次のとおりです。
function unescape($str) {
$str = rawurldecode( $str);
preg_match_all("/( ?:%u.{4})|.{4};|d ;|./U",$str,$r); >$ar = $r[0];
print_r($ar);
foreach($ar as $k=>$v) {
if(substr($v,0,2) == "%u")
$ar [$k] = iconv("UCS-2","GB2312",pack("H4",substr($v,-4))); (substr($v,0,3) == "")
$ar[$k] = iconv("UCS-2","GB2312",pack("H4",substr($v) ,3,-1)));
elseif(substr($v,0,2) == "") {
;";
$ar[$k] = iconv("UCS-2","GB2312",pack("n",substr($v,2,-1)));
}
} return join("",$ ar); } $str = "TTL 全天候型オートフォーカス" echo unescape($str);天気オートフォーカス
JavaScript を使用して変換
コードをコピー
コードは次のとおりです:
<スタイル>
BODY {
FONT-SIZE: 9pt;パディング右: 0px;パディング左: 0px;パディングボトム: 0px;パディングトップ: 0px;
}
input {
FONT-SIZE: 9pt;高さ: 13pt;
}
<スクリプト言語="JavaScript1.2">
/*
この次のコードは Windy_sk
自由に使用できますが、すべての著作権はあなたが保持する必要があります。
*/
function Str2Unicode(str){
var arr = new Array();
for(var i=0;i
}
return(arr.toString().replace(/,/g,""));
}
function Unicode2oStr(str){
var re=/[da-fA-F]{1,5};/ig;
var arr=str.match(re);
if(arr==null)return("");
for(var i=0;i
}
return(arr.toString().replace(/,/g,""))
}
function modi_str(){
if(document.all.text.method .checked){
if(document.all.text.decode.value!=""){
document.all.text.encode.value = Str2Unicode(document.all.text.decode.value);
}else{
document.all.text.decode.value = Unicode2oStr(document.all.text.encode.value);
}
}else{
if(document.all.text.encode.value!=""){
document.all.text.decode.value = Unicode2oStr(document.all.text .encode.value);
}else{
document.all.text.encode.value = Str2Unicode(document.all.text.decode.value);
}
}
}
<フォーム名=テキスト>
文本の原型:
转换代码:
正向转换
复制代代码如下:
BODY {
FONT-SIZE: 9pt;パディング右: 0px;パディング左: 0px;パディングボトム: 0px;パディングトップ: 0px;
}
input {
FONT-SIZE: 9pt;高さ: 13pt;
}
関数 showUni(min,max){
show.document.open();
show.document.writeln("");
show.document.writeln(min " - " max "
");
var i=0;
for(i=min;ishow.document.write("" i ";");
}
show.document.close();
}
独自設定: - <入力名=最大>
下は一查表(gb2312),转换gb2312到utf8の例, 现在有iconv関数,这个已经没有太大意义了,
复制代 代码如下:
function gb2utf8($gb){
if(!trim($gb)) return $gb;
$filename="gb2312.txt";
$tmp=ファイル($ファイル名);
$codetable=array();
while(list($key,$value)=each($tmp))
$codetable[hexdec(substr($value,0,6))]=substr($value,7,6);
$utf8="";
while($gb) {
if (ord(substr($gb,0,1))>127) {
$this=substr($gb,0,2);
$gb=substr($gb,2,strlen($gb)-2);
$utf8.=u2utf8(hexdec($codetable[hexdec(bin2hex($this))-0x8080]));
}else{
$this=substr($gb,0,1);
$gb=substr($gb,1,strlen($gb)-1);
$utf8.=u2utf8($this);
}
}
return $utf8;
}
関数 u2utf8($c){
$str="";
if ($c <0x80) {
$str.=$c;
} else if ($c <0x800) {
$str.=chr(0xC0 | $c>>6);
$str.=chr(0x80 | $c & 0x3F);
} else if ($c <0x10000) {
$str.=chr(0xE0 | $c>>12);
$str.=chr(0x80 | $c>>6 & 0x3F);
$str.=chr(0x80 | $c & 0x3F);
} else if ($c $str.=chr(0xF0 | $c>>18);
$str.=chr(0x80 | $c>>12 & 0x3F);
$str.=chr(0x80 | $c>>6 & 0x3F);
$str.=chr(0x80 | $c & 0x3F);
}
return $str;
}
?>

ホット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。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
