Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk melaksanakan pengekodan ucs2 dalam php

Bagaimana untuk melaksanakan pengekodan ucs2 dalam php

藏色散人
藏色散人asal
2021-12-29 10:37:222032semak imbas

Cara melaksanakan pengekodan ucs2 dalam php: 1. Cipta fail sampel PHP; 2. Laksanakan pengekodan ucs2 melalui "function Ucs2Code($str,$encode="UTF-8"){...} "Kaedah Itu sahaja.

Bagaimana untuk melaksanakan pengekodan ucs2 dalam php

Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer Dell G3.

Bagaimana untuk melaksanakan pengekodan ucs2 dalam PHP?

PHP melaksanakan pengekodan dan penyahkodan UCS2 apabila menghantar mesej teks daripada telefon mudah alih

Kodnya adalah seperti berikut :

/***
* @Method Ucs2Code UCS2编码
* @Param $str 输入字符串
* @Param $encod 输入字符串编码类型(UTF-8,GB2312,GBK)
* @Return 返回编码后的字符串
*/
function Ucs2Code($str,$encode="UTF-8"){
$jumpbit=strtoupper($encode)=='GB2312'?2:3;//跳转位数
$strlen=strlen($str);//字符串长度
$pos=0;//位置
$buffer=array();
for($pos=0;$pos<$strlen;){
if(ord(substr($str,$pos,1))>=0xa1){//0xa1(161)汉字编码开始
$tmpChar=substr($str,$pos,$jumpbit);
$pos+=$jumpbit;
}else{
$tmpChar=substr($str,$pos,1);
++$pos;
}
$buffer[]=bin2hex(iconv("UTF-8","UCS-2",$tmpChar));
}
return strtoupper(join("",$buffer));
}
/***
* @Method unUcs2Code UCS2解码
* @Param $str 输入字符串
* @Param $encod 输入字符串编码类型(UTF-8,GB2312,GBK)
* @Return 返回解码后的字符串
*/
function unUcs2Code($str,$encode="UTF-8"){  
$strlen=strlen($str);
$step=4;
$buffer=array();
for($i=0;$i<$strlen;$i+=$step){
$buffer[]=iconv("UCS-2",$encode,pack("H4",substr($str,$i,$step)));  
}
return   join("",$buffer);  
}
echo Ucs2Code("进入围栏");
echo unUcs2Code("8FDB516556F4680F");

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pengekodan ucs2 dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Apakah maksud php mvc?Artikel seterusnya:Apakah maksud php mvc?