字符编码
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区别
自定义编码
自定义编码格式,遍历每个字符,将其转换为任意想要的格式,对于某些特殊字符,也可以增加特殊处理,如在
前面增加%等。
原文地址:http://bosswanghai.blog.51cto.com/9384652/1854763