当前位置: 首页 > news >正文

美女做暖暖视频的网站网页制作与设计教程

美女做暖暖视频的网站,网页制作与设计教程,dedecms游戏门户网站源码,企业网站建设可分为什么层次编码规范化 在计算机中,我们需要将字符与字节序列之间建立起映射关系,这个过程被称为编码。有许多不同的编码方式,例如 ASCII、UTF-8、UTF-16 和 GBK 等。这些编码方式会将每个字符编码为一个或多个字节,以便于在计算机、网络和其…

编码规范化

在计算机中,我们需要将字符与字节序列之间建立起映射关系,这个过程被称为编码。有许多不同的编码方式,例如 ASCII、UTF-8、UTF-16 和 GBK 等。这些编码方式会将每个字符编码为一个或多个字节,以便于在计算机、网络和其他设备之间进行存储和传输。

Unicode是一种字符集,它为每个字符、符号和表情符分配了一个唯一的码位(整数),它与许多不同的编码方式结合使用。

编解码

英文数据处理特点:首字母大写、词与词间用空格分隔、标点符号与词汇写在一起。
中文数据处理与英文不同,没有分词,所有词之间没有空格
数据处理的目的在于去除脏数据,保留干净可用的部分,其中编解码是关键环节。

chr() 是 Python 中的一个内置函数,它将一个整数(Unicode 码位)转换为一个字符

>>> chr(a)
'a'

chr() 函数的逆函数是 ord(),它将一个字符(长度为 1 的字符串)转换为一个整数(Unicode 码位)

>>> ord('A')
65

编码标准

用不同的编码标准会得到不同的字节序列,尽管在文本中显示的是同一个字

>>> "可".encode("gbk")
b'\xbf\xc9'
>>> "可".encode("utf-8")
b'\xe5\x8f\xaf'
>>> a = "可".encode("utf-8")
>>> b = "可".encode("gbk")
>>> a == b
False

将其解码后与Python默认的Unicode字符集对应

>>> a.decode("utf-8") == '可'
True

1.处理编解码错误

检测文本是否以UTF-8编码。

#encoding: utf-8import sysdef handle(sl1,sl2,rl1,rl2):ens = "\n".encode("utf-8")with open(sl1,"rb") as fs1,open(sl2,"rb") as fs2,open(rl1,"wb") as fr1,open(rl2,"wb") as fr2:for l1, l2 in zip(fs1,fs2): #按行读t1 ,t2 = l1.strip(), l2.strip() #去除每行首、尾的回车、制表、空格if t1 and t2: #如果t1、t2 非空try: #解码t1, t2 = t1.decode("utf-8"), t2.decode("utf-8")except Exception as e: #decode方法抛出异常,说明原文不满足u8编码t1 = t2 = "" #异常置空if t1 and t2: #以U8再编码fr1.write(t1.encode("utf-8"))fr1.write(ens) #将strip()过的回车添加上,将行隔开fr2.write(t2.encode("utf-8"))fr2.write(ens)if __name__=="__main__":handle(*sys.argv[1:]) 

执行后,在命令行使用wc -l fname 查看行数,统计因编解码错误而被丢掉的行。

2.编码统一

HTML数据清洗

在网页上爬取的数据编码方式可能不同,例如使用Python的html库:

>>> import html
>>> html.escape("&")
'&'

escape()函数的逆函数是unescape(),会将HTML标记转化为Unicode字符。

>>> html.unescape("&amp")
'&'
#encoding: utf-8import sys
from html import unescapedef handle(srcf,rsf):ens = "\n".encode("utf-8")with open(srcf,"rb") as frd, open(rsf,"wb") as fwrt:for line in frd:tmp = line.strip()if tmp:tmp = unescape(tmp.decode("utf-8"))fwrt.write(tmp.encode("utf-8"))fwrt.write(ens)if __name__=="__main__":handle(*sys.argv[1:])

md5sum 是一个 Linux 和 Unix 操作系统中的命令行工具,用于计算和验证文件的 MD5 校验和。MD5 是一种哈希函数,它可以将任意长度的数据转换为一个固定长度的哈希值。
通过对比数据清洗前后的md5sum值,可以看到文件是否发生变化。

全角转为半角

全角字符与半角字符的unicode编码不一致

>>> a = 'a'
>>> b = 'a'
>>> a == b
False
>>> ord(a),ord(b)
(97, 65345)

他们的差值即是95345-97=65248

>>> chr(ord(b)-65248) == a
True

full2half.py

#encoding: utf-8
import sysdef D2S(istr): #全角转半角rs = []for c in istr:num = ord(c)if num == 12288:rs.append(" ") #如果检测到全角空格,则添加一个半角空格elif (num > 65280) and (num < 65375):rs.append(chr(num - 65248)) #全角字符区间转半角elif not ((num < 32 and num != 9) or (num > 126 and num < 161) or (num > 8202 and num < 8206) or (num > 57343 and num < 63744) or (num > 64975 and num < 65008) or (num > 65519)):rs.append(c)  #除去私有定义Unicode字符return ''.join(rs) ##将迭代对象连接成字符串def handle(srcf,rsf):ens="\n".encode("utf-8")with open(srcf,"rb") as frd,open(rsf,"wb") as fwrt:for line in frd:tmp = line.strip()if tmp:tmp = D2S(tmp.decode("utf-8")).encode("utf-8")fwrt.write(tmp)fwrt.write(ens)if __name__ == "__main__":handle(sys.argv[1],sys.argv[2]) 

Unicode规范化

docs python unicodedata
1.U+2160 (ROMAN NUMERAL ONE) is really the same thing as U+0049 (LATIN CAPITAL LETTER I) 即不同编码可能指向同一字符。
2. the character U+00C7 (LATIN CAPITAL LETTER C WITH CEDILLA) can also be expressed as the sequence U+0043 (LATIN CAPITAL LETTER C) U+0327 (COMBINING CEDILLA)即同一字符可能有不同表示形式。
使用unicodedata.normalize(form, unistr)进行规范化

#encoding: utf-8import sys
from unicodedata import normalizedef handle(srcf,rsf,form="NFKC"):ens = "\n".encode("utf-8")with open(srcf,"rb") as frd, open(rsf,"wb") as fwrt:for line in frd:tmp = line.strip()if tmp:fwrt.write(normalize(form,tmp.decode("utf-8")).encode("utf-8"))fwrt.write(ens)if __name__=="__main__":handle(*sys.argv[1:])
http://www.yidumall.com/news/94553.html

相关文章:

  • 做国际贸易如何建网站官网制作公司
  • 做底单的网站seo优化的优点
  • 珠海网站开发维护科技公司世界杯比分查询
  • 花钱做网站注意些什么阿里云免费域名
  • 会做网站怎么赚钱廊坊快速优化排名
  • 低面效果在哪个网站做广告策划方案怎么做
  • 莱芜金点子今天最新招聘seo短视频加密路线
  • 贵阳网站建设企业微信上如何投放广告
  • 网站服务器和空间大小广州软件系统开发seo推广
  • 做h5页面的网站南平网站seo
  • 网站推广注册品牌推广是做什么的
  • 大城 网站建设百度商业平台
  • 姜堰网站建设学大教育培训机构怎么样
  • 建站出海网络广告有哪些形式
  • 农产品网站建设背景百度学术官网入口
  • 网页制作与网站建设实战大全舆情视频
  • 长春模板建站公司搜索点击软件
  • 什么是网站名称文件夹搜索引擎排名优化方案
  • 手机建立网站ip域名查询网站入口
  • 怎么做网站的优化网络广告策划书案例
  • 专业广州网站建设成人零基础学电脑培训班
  • 张家港杨舍网站制作市场监督管理局
  • 做ppt常用的网站有哪些福州短视频seo服务
  • wordpress伪静态 插件微信seo什么意思
  • 天河岗顶棠下上社网站建设网站建设的流程是什么
  • 网站内容上传合肥网站推广优化
  • 淘宝联盟推广可以做网站吗热搜榜排名今日第一
  • 苗木网站开发需求百度在线人工客服
  • wordpress点赞插件关键词优化排名软件流量词
  • 企业网站优化服务主要围绕什么百度云资源搜索