utf8_to_unicode in PHP
Jun 23, 2016 pm 02:36 PM 想使用8:UCS2格式编码下行短信的时候,需要把UTF8转换成Unicode的十六进制编码,但是PHP没有内置Unicode的支持,怎么办呢?
/* *
* 从UTF8转换成unicode beta1.0
* @param mixed $string要转换的字符串,
* @return unicode的十六进制编码
*/
function utf8_to_unicode_hex( $string ){
$length = strlen ( $string );
$outstring = "" ;
for ( $i = 0 ; $i $asc_value = ord ( $string [ $i ]);
if ( $asc_value > 127 ) {
if ( $asc_value >= 192 && $asc_value $str_dec = ( ord ( $string [ $i ]) & 0x3f ) $i ++ ;
$str_dec += ord ( $string [ $i ]) & 0x3f ;
$str_hex = dechex ( $str_dec );
$outstring .= str_pad ( $str_hex , 4 , " 0 " , STR_PAD_LEFT);
} elseif ( $asc_value >= 224 && $asc_value $str_dec = ( ord ( $string [ $i ]) & 0x1f ) $i ++ ;
$str_dec += ( ord ( $string [ $i ]) & 0x3f ) $i ++ ;
$str_dec += ord ( $string [ $i ]) & 0x3f ;
$outstring .= dechex ( $str_dec );
} elseif ( $asc_value >= 240 && $asc_value $str_dec = ( ord ( $string [ $i ]) & 0x0f ) $i ++ ;
$str_dec += ( ord ( $string [ $i ]) & 0x3f ) $i ++ ;
$str_dec += ( ord ( $string [ $i ]) & 0x3f ) $i ++ ;
$str_dec += ord ( $string [ $i ]) & 0x3f ;
$outstring .= dechex ( $str_dec );
} else {
$str_hex = dechex ( ord ( $string [ $i ]));
$outstring .= str_pad ( $str_hex , 4 , " 0 " , STR_PAD_LEFT);
}
} else {
$str_hex = dechex ( ord ( $string [ $i ]));
$outstring .= str_pad ( $str_hex , 4 , " 0 " , STR_PAD_LEFT);
}
}
return $outstring ;
}

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Laravel Back End : Part 2, React가있는 React 앱 구축

PHP의 컬 : REST API에서 PHP Curl Extension 사용 방법
