日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

爬虫中的关于字符串的一些理解

發布時間:2023/12/18 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 爬虫中的关于字符串的一些理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.基本概念

字符(Character)是各種文字和符號的總稱,包括各國家文字、標點符號、圖形符號、數字等

字符集(Character set)是多個字符的集合

字符集包括:ASCII字符集、GB2312字符集、GB18030字符集、Unicode字符集等

ASCII編碼是1個字節,而Unicode編碼通常是2個字節。

UTF-8是Unicode的實現方式之一,UTF-8是它是一種變長的編碼方式,可以是1,2,3個字節

2.Python3中的字符串

Python3中兩種字符串類型

 1.str:unicode的呈現形式
 2.bytes: 字節類型,互聯網上的數據都是以二進制的方式(字節類型)傳輸的
使用方法:
 1.str使用encode方法轉化為bytes
 2.bytes通過decode轉化為str
注意:編碼方式與解碼方式必須一樣,否則就會出現亂碼

3.Python2中的字符串

Python2中字符串有兩種類型

 1.unicode類型
 2.字節類型

在Python2中,字符串無法完全地支持國際字符集和Unicode編碼。為了解決這種限制,Python2對Unicode數據使用了單獨的字符串類型。要輸入Unicode字符串,要在第一個引號前加上'u'。

Python2中普通字符串實際上就是已經編碼(非Unicode)的字節字符串

3.1.python2中的字節類型字符串
python2 中定義字符串的時候,會自動將字符串轉換為合適編碼的字節字符串,比如中文:自動轉換為utf-8編碼的字節字符串

舉個例子(linux終端,默認終端的編碼utf-8):

>>> a = "你好" #如此定義字符串的時候,其為字節類型 >>> a '\xc4\xe3\xba\xc3' >>> type(a) <type 'str'>

 上面的這種定義方式和在字符串前面加上b的效果一樣,可以對其解碼,轉化為str類型

>>> c =b"你好" >>> c '\xe4\xbd\xa0\xe5\xa5\xbd' >>> type(a) <type 'str'> >>> c.decode("utf-8") u'\u4f60\u597d'

 3.2 Python2中的Unicode類型 
如果需要定義Unicode字符串,即非字節類型的字符串的時候需要在前面加上‘u’

>>> e = u"你好" >>> e u'\u4f60\u597d' >>> type(e) <type 'unicode'> >>> e.encode('utf-8') '\xe4\xbd\xa0\xe5\xa5\xbd'

3.3 python2中字節類型和uicode類型的轉化
  1.字節類型通過decode轉化為Unicode類型
  2.Unicode類型通過很encode方法轉化為字節類型
  3.方法的使用和Python3相同,但是在方法中默認的編碼解碼方式為ASCII,對中文需要手動指定為utf-8

4.文件編碼
  在Python中保存字符串到文件中,文件編碼取決于第一次寫入的字符串編碼,如果后續寫入的字符串編碼和文件編碼不一致時,則出現亂碼(Python寫入文件沒有Unicode編碼的文件編碼)。
  4.1 Python3只要是寫入Unicode字符串,都按‘w’模式寫入,除非是 非Unicode(gbk、utf8、jpg、mp4等非Unicode數據),按 "wb" 寫入。
  4.2Python2只要是寫入字符串,都按 "w" 模式寫入,除非是 圖片、音頻、視頻這種非字符串數據,按 "wb" 模式寫入。

?

轉載于:https://www.cnblogs.com/litao2011/p/9534867.html

總結

以上是生活随笔為你收集整理的爬虫中的关于字符串的一些理解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。