编码范围
1. GBK (GB2312/GB18030)
x00-xff
GBK双字节编码范围
x20-x7f
ASCII
xa1-xff
中文
x80-xff
中文
2. UTF-8 (Unicode)
u4e00-u9fa5
(中文)
x3130-x318F
(韩文)
xAC00-xD7A3
(韩文)
u0800-u4e00
(日文)
ps: 韩文是大于[u9fa5
]的字符
正则例子(使用PHP):
preg_replace(“/([x80-xff])/”,”",$str); //GBK中匹配
preg_replace(“/([u4e00-u9fa5])/”,”",$str); //UTF8中匹配
另外一些:
有时候我们也会用到全角英文、特殊符号等
全角英文的UTF8是: uff21 – uff5a
,是从大写A
开始到小写的z
。
utf8中的 uff20
是@
utf8中的 uff01
到 uff09
是我们美式键盘上shift + 从1到9键
上的特殊符号。要注意的是因为@
是 uff20
,所以 uff02
是双引号,同时6的……是两个符号的组合,所以也不存在,正题提前一位(也就是说ff06
是&
, ff09
是)
)。
utf8
中的全角数字是 uff10 – uff19
,对应关系自然是0 – 9
。
UTF-8 中文编码范围
主流的匹配字符有两种 [\u4e00-\u9fa5]
和[\u2E80-\u9FFF]
,后者范围更广,包括了日韩地区的汉字
import re
pattern = re.compile("[\u2E80-\u9FFF]+")
result = pattern.findall('<a target="_blank" href="http://m.weibo.com/web/cellphone.php#iphone" suda-uatrack="" key=''index_new_menu&value=sina_apps_list_click">新浪微博</a>')
print(result)
['新浪微博']