1. 程式人生 > >day03_09 編碼部分歷史及文件編碼簡介

day03_09 編碼部分歷史及文件編碼簡介

最大的 課件 big pri alt int color gb2 lex

詳細課件:http://www.cnblogs.com/alex3714/articles/5465198.html

字符編碼

支持中文的第一張表就是GB2312

1980 gb2312 6700+

1995 gbk1.0 20000

2000 gb18030 27000

big5 臺灣

unicode 萬國碼 支持所有國家和地區的編碼

2^16 = 65535 = 存一個字符 統一占用2個字節

為了解決字符字節翻倍的問題,出現了UTF-8

UTF-8 = unicode 的擴展及,可變長的字符編碼集

ASSIC==>GB2312==>GBK1.0==>GB18030

ASSIC==>UNICODE==>UTF-8

python3.0默認編碼是nuicode支持中文

python2.0默認編碼默認是ASSIC

如果用python2執行以下代碼會報錯,因為不支持中文,所以需要加上一行紅色代碼,終於搞懂為什麽不需要在python3中加上這行代碼了

#!-*- coding:utf-8 -*-
print "我愛北京天安門!"

技術分享

windows默認編碼是GBK,所以看UTF-8就看不了,所以出現以上錯誤亂碼

解決方法:2種類

#!-*- coding:gbk -*-
print "我愛北京天安門!"

但是如果你使用notepad++的話,默認是utf-8,所以還需要轉換一下才行

技術分享

技術分享

技術分享

所以最好不要使用notepad++這個惡心的編輯器...這個編輯器最大的問題就是編碼問題,fuck notepad++

因為unicode是向下兼容gb2312的,所以以下代碼前加上u,就是可以直接顯示中文了

#!-*- coding:utf-8-*-
print  u"我愛北京天安門"

  

另外一種編碼的寫法

#coding:utf-8
print  "我愛北京天安門"

把cmd編碼還原成GBK格式,在cmd命令行中輸入chcp 936

day03_09 編碼部分歷史及文件編碼簡介