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

Bagaimana untuk melaksanakan pengekodan ucs2 dalam php

藏色散人
Lepaskan: 2023-03-14 16:26:02
asal
2040 orang telah melayarinya

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");
Salin selepas log masuk

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!

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan