时间:2021-05-26
大家都知道,不同字符编码,其在内存占用的字节数不一样。如ASCII编码字符占用1个字节,UTF-8编码的中文字符是3字节,GBK为2个字节。
PHP 也自带几种字符串截取函数,其中常用到的就是 substr 和 mb_substr。
使用substr截取中文字符时会出现乱码,这是因为substr是按字节来截取的。即UTF-8编码的中文,使用substr截取,只会截取1/3个中文,当然出现乱码了。
mb_substr ( string $str , int $start [, int $length [, string $encoding ]] ) 中的参数$encoding可以指定编码,如果省略,则使用内部字符编码。
如果不清楚字符串的编码格式的话,可以用mb_detect_encoding检查:
$encoding = mb_detect_encoding($string, array("ASCII",'UTF-8′,"GB2312′,"GBK",'BIG5′));
然后:
mb_substr ( string $str , int $start [, int $length [, string $encoding ]] )
如果自己实现mb_substr,效率并不是很好。
编码相关的php函数使用
ord(substr($str, $i, 1)) > 0xa0)
匹配汉字 : preg_match_all('/[\x80-\xff]?./', $string, $match);
匹配英文: preg_match_all("/[/x01-/x7f]+/", $string, $match);
编码转换
iconv(string$in_charset,string$out_charset,string$str)
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
php字符串转Unicode编码,Unicode编码转php字符百度了很多,都一样,要么不对,要不就是只是把字符串的汉字转Unicode经过多次试验查找,找到了
在编程时,有时需要对字符串进行escape编码,在java中可以使用下面的方法对字符串进行escape编码/***对字符串escape编码**@paramsrc
[escape]ISOLatin字符集对指定的字符串进行编码,不会被编码的字符[@*/+][encodeURI]UTF-8字符集对指定的字符串进行编码[enco
本文实例总结了PHP检测字符串是否为UTF8编码的常用方法。分享给大家供大家参考。具体实现方法如下:检测字符串编码可以有很多种方法,如利用ord获得字符的进制然
在最新的Python3版本中,字符串是以Unicode编码的,即Python的字符串支持多语言编码和解码 字符串在内存中以Unicode表示,在操作字符串时,