【爬虫】一文了解如何处理爬虫中的乱码问题

本系列为自己学习爬虫的相关笔记,如有误,欢迎大家指正

什么是字符编码

字符串的编码只有两大类:

  1. 通用的Unicode编码
  2. 将Unicode转化成的某种类型的编码,如UTF-8、GBK等

了解Unicode编码之前,先来看计算机编程的历史。

由于计算机只能处理数字,因此处理文本时必须先转换为数字才行。最早的计算机在设计时采用8比特(bit)作为一个字节(byte),而计算机采用二进制,所以一个字节可以表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。

美国人发明了计算机,同时制定了编码,以对应英文字符和二进制数字之间的关系。这种编码被称为ASCII码。ASCII码一共规定了128个字符的编码,比如大写字母A是65、二进制为01000001。

这128个字符表示英文绰绰有余,但是中文有超过10万个汉字,一个字节只能表示256种符号,显然是不够的。所以,中国使用GB2312作为简体中文常见的编码方式,两个字节表示一个汉字,理论上最多可以表示256×256=65536个符号。

不同国家都设置了自己的编码,因此,在多语言的文本中可能会出现乱码。

为了让各国/地区能够跨语言、跨平台进行文本转换与处理,Unicode就被创造了出来。

Unicode被称为统一码、万国码或单一码。也就是说,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,大概包含100多万个符号。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值