判断字符串是否为 utf-8 编码

代码清单:

<?php
/**
 * 判断字符串是否为utf8编码,英文和半角字符返回ture
 * @author ruxing.li
 * @param $string
 * @return bool
 */
function is_utf8($string) {
    return preg_match('%^(?:
                    [\x09\x0A\x0D\x20-\x7E] # ASCII
                    | [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
                    | \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
                    | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
                    | \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
                    | \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
                    | [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
                    | \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
                    )*$%xs', $string);
}

声明:本文来自CSDN,转载请注明出处!

判断字符串是否为 utf-8 编码

时间: 2024-11-08 23:59:03

判断字符串是否为 utf-8 编码的相关文章

python_判断字符串编码的方法

1. 安装chardet 在命令行中,进入Python27\Scripts目录,输入以下的命令:easy_install chardet 2. 操作 import chardet f = open('file','r') fencoding=chardet.detect(f.read()) print fencoding fencoding输出格式 {'confidence': 0.96630842899499614, 'encoding': 'GB2312'} ,只能判断是否为某种编码的概率.

判断字符串是否为UTF8编码

UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码.由Ken Thompson于1992年创建.现在已经标准化为RFC 3629.UTF-8用1到4个字节编码Unicode字符.用在网页上可以统一页面显示中文简体繁体及其它语言(如英文,日文,韩文). <?php /** *检查字符串是否是utf8编码 *@param string $string 被检测字符串 *@return Boolean */ function i

Python判断字符串编码以及编码的转换

判断字符串编码 使用 chardet 可以很方便的实现字符串/文件的编码检测.尤其是中文网页,有的页面使用GBK/GB2312,有的使用UTF8,如果你需要去爬一些页面,知道网页编码很重要 >>> import urllib >>> html = urllib.urlopen('http://www.chinaunix.net').read() >>> import chardet >>> chardet.detect(html) {

PHP判断字符串编码是否为utf8以及转换问题

今天说说编码乱码问题,当一个页面存在两种编码的时候,无论你乍么选择都会出现乱码,解决方法: 1.你据在网页编码是哪个. 2.首先判断字符串编码是否为utf8代码如下: PHP代码 function is_utf8($word) { if (preg_match("/^([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128

列表/元组/字符串/字典/集合/文件/字符编码

1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 1 names = ['Alex',"Tenglan",'Eric'] 通过下标访问列表中的元素,下标从0开始计数 1 2 3 4 5 6 7 8 >>> names[0] 'Alex' >>> names[2] 'Eric' >>> names[-1] 'Eric' >>> names[-2] #

Java 判断是否为汉字 判断是否为乱码 判断字符串是否为双整型数字 整数 数字

/**  * 判断是否为汉字  *   * @param str  * @return  */ public static boolean isGBK(String str) {  char[] chars = str.toCharArray();  boolean isGBK = false;  for (int i = 0; i < chars.length; i++) {   byte[] bytes = ("" + chars[i]).getBytes();   if (

java判断字符串是否为乱码

项目中有一个功能 在IE中GET方式提交会产生乱码 但有两个入口都会走这同一段代码 固不能直接转码,所以要进行判断传过来的该值是不是乱码 可用以下方式验证: java.nio.charset.Charset.forName("GBK").newEncoder().canEncode("测试") //判断是不是GBK编码 即是否乱码 //使用request.getQueryString()获取通过URL传过来的值 有可能是乱码 如:q=é????¥ String s

[转]PHP判断字符串是纯英文、纯汉字或汉英混合(GBK)

PHP判断字符串是否为中文(或英文)的方法,除了正则表达式判断和拆分字符判断字符的值是否小于128 外还有一种比较特别的方法. 使用php中的mb_strlen和strlen函数判断 方法比较简单:分别使用以上两个函数以当前编码测出字符的返回值,然后比较返回值.返回值相等的为纯英文.纯数字.英数混排:返回值不等,且strlen返回值可被mb_strlen整除的为纯汉字返回值不等,且strlen返回值不可被mb_strlen整除的为英汉或数汉混排 看一下以下的例子: Php代码   <?php $

Swift3.0语言教程比较、判断字符串

Swift3.0语言教程比较.判断字符串 Swift3.0语言教程比较.判断字符串,在一个程序中字符串很多时,常常会做的操作就是对这些字符串进行比较和判断.本小节将讲解这些内容. 1.不区分大小写比较 字符串比较可以分为:不区分大小写比较.区分大小写比较以及本地化比较三部分.首先我们来看不区分大小写比较,不区分大小写比较顾名思义就是不区分字符串中字母的大小写,即A和a相同.在NSString中使用caseInsensitiveCompare(_:)方法实现这一功能,其语法形式如下: func c