字符編碼
linux 編碼
默認utf8,文件編碼格式查看
1. vim :set encoding
2. file filename
文件編碼格式轉換
iconv
文件編碼與系統編碼不一致可能導致文件顯示亂碼
1. 確定文件編碼
2. 確定iconv是否支持此編碼的轉換
3. 確定Linux/Unix操作系統編碼
4. 轉換文件編碼爲與系統編碼一致
iconv -f(from) 編碼 -t(to) 編碼 file
python 編碼
1. 文件編碼設置
# -*- coding: utf-8 -*-
2. 編碼轉換
encodeA ---> unicode -----> encodeB
unicode = encodeA.decode("utf8")
encodeB = unicode.encode("gbk")
url 編碼
1. 顯示編解碼
import urllib
urllib.quote()
urllib.unquote()
2. requests.get(url) 會自動對url進行encode,但是不會對 `/` 進行編碼
nginx 編碼
1. 配置文件設置
conf: charset utf8
2. lua編碼
ngx.escape_uri(uri)
會對`/`也進行編碼
ngx.encode_args(args_table)
編碼方式區別
不同的編解碼lib庫有不同的區別
有的編碼庫對大部分特殊字符都進行編碼,有的只對一部分進行編碼
如下提供的僅僅是文章作者使用lib庫的區別,同是escape,nginx則對全部字符進行編碼。 encode與escape區別
自定義編碼
自定義編碼格式,遍歷每個字符,將其轉換爲任意想要的格式,對於某些特殊字符,也可以增加特殊處理,如在
前面增加%等。