day03_09 編碼部分歷史及文件編碼簡介
阿新 • • 發佈:2017-09-06
最大的 課件 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 編碼部分歷史及文件編碼簡介