为什么gbk编码常用抽取正则表达式无法抽取"嘚瑟"的“嘚”字

来源:互联网 发布:老米cps淘宝客网站 编辑:程序博客网 时间:2024/05/16 07:01

根据"GBK汉字内码扩展规范编码表"——http://ff.163.com/newflyff/gbk-list/

可以查到"嘚"字的编码为874e

而我们常用的gbk汉字抽取正则表达式为[\x80-\xff][\x80-\xff]

以python正则为例,抽取汉字代码如下:

regex = re.compile(r"[\x80-\xff][\x80-\xff]")

words = re.findall(regex, text)


这样是无法抽取出"嘚"字的,需要将regex改为:

regex = re.compile(r"[\x80-\xff][\x80-\xff\x4e]")

即可


另外,在linux系统上查看一个字的汉字编码的简单方式为

echo "嘚" | xxd

显示结果为:

0000000: 874e 0a

其中0a为\n字符,874e即“嘚”字的gbk编码

1 0
原创粉丝点击