tft每日頭條

 > 科技

 > 文件編碼與文件内容編碼

文件編碼與文件内容編碼

科技 更新时间:2024-11-25 01:20:29
什麼是字符編碼?

由于計算機内部識别二進制,但是用戶在使用計算機的時候卻可以看見各式各樣的語言字符

字符編碼:内部記錄了人類字符與數字對應關系的數據

字符編碼發展史

計算式是美國人發明的,美國人為了能夠讓計算機識别英文字符

ASCII碼:裡面記錄了英文字符與數字的對應關系

用一個字節來是對應關系

"""

所有的英文字符和符号加起來其實不超過127

之所以使用八位是為了後續發現新的語言

"""

必須記住的對應關系有以下兩組

A-Z:65-90

a-z:97-122

中國人

為了能夠讓計算機識别中文 我們需要發明另外一套編碼表

GBK碼:記錄了英文中文與數字的對應關系

對于英文還是使用一個字節

對應中文使用兩個字節甚至更多字節

"""兩個字節其實也不夠表示出所有的中文

遇到生僻字可能需要更多位來表示

"""

日本人

為了能夠讓計算機識别日文 也需要發明一套編碼表

shift_JIS碼:記錄了日文英文與數字的對應關系

韓國人

為了能夠讓計算機識别韓文 也需要發明一套編碼表

Euc_kr碼:記錄了韓文英文與數字的對應關系

為了能夠實現不同國家之間的文本數據能夠彼此無障礙交流需要對編碼統一

unicode(萬國碼)

統一使用兩個及以上字符記錄字符與數字的對應關系

utf8(萬國碼的優化版本)

将英文還是用一個字節存儲

将中文使用三個字節或更多字節存儲

'''現在默認使用的編碼是utf8'''

文件編碼與文件内容編碼(字符編碼文件操作)1

字符編碼實操

如何解決亂碼的問題

文件當初以什麼編碼編的,打開的時候就用什麼編碼解開

python解釋器版本不同帶來的編碼差異

python2.X内部使用的編碼默認是ASCII

文件頭>>> coding:utf8

在python2中定義字符串前面要加一個小u s = u'我愛中國'

python3.X内部使用的編碼是utf8

文件編碼與文件内容編碼(字符編碼文件操作)2

編碼與解碼

編碼:

将人類能夠讀懂的字符安裝指定的編碼轉換成數字

解碼:

将數字按照指定的編碼轉換成人類能夠讀懂的字符

列:

編碼:

res = s.encode('utf8')

print(res,type(res)

解碼:

res1 = res.decode('utf8')

print(res1)

文件編碼與文件内容編碼(字符編碼文件操作)3

文件操作

什麼是文件?

文件就是操作系統暴露給用戶操作硬盤的快捷方式(接口)

代碼如何操作文件?

關鍵字 open()

三步走:

1、利用關鍵字打開文件

2、利用其它方法操作文件

3、關閉文件

"""

文件路徑

相對路徑與絕對路徑

路徑中出現了字母與斜杠的組合産生了特殊含義如何取消

在路徑字符串前面加一個r

r'D:\py20\day08\a.txt'

"""

open ('b.txt') >>>打開文件

open(r'D:\py\old.txt') >>>絕對路徑

res = open('a.txt','r',encoding='utf8')

print(res.read())

res.clsoe() >>>關閉文件釋放資源

格式: open(文件路徑,讀寫模式,字符編碼)

文件路徑與讀寫模式是必須的

字符編碼是可選的(有些模式需要編碼)

with上下文管理(自動close文件)

with open(r'a.txt','r',encoding='utf8') as f1: # f1=open() f1.close()

print(f1.read()) >>>讀取文件内所有的内容

"""代碼操作文件 推薦使用with語法"""

文件編碼與文件内容編碼(字符編碼文件操作)4

件讀寫模式

r:隻讀模式(隻能看不能改)

路徑不存在的話,直接報錯

with open(r'b.txt,'r',encoding='utf8') as f:

print(f.read()) >>>讀取文件内所有的内容

w:隻寫模式(隻能寫不能看)

路徑不存在的話,會自動創建

with open(r'b.txt', 'w', encoding='utf8') as f:

路徑存在:1.會先清空文件内容 2.再執行寫入操作

with open(r'a.txt', 'w', encoding='utf8') as f:

>>> f.read()

f.write('hello world!\n')

f.write('hello world!\n')

f.write('hello world!\n')

a 隻追加模式(追加内容)

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved