字符编码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符编码相关的知识,希望对你有一定的参考价值。

字符编码

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区别

自定义编码

自定义编码格式,遍历每个字符,将其转换为任意想要的格式,对于某些特殊字符,也可以增加特殊处理,如在

前面增加%等。


以上是关于字符编码的主要内容,如果未能解决你的问题,请参考以下文章

如何查看字符编码类型

Python 字符集编码 - UTF-8 编码

unicode字符集是多少位的字符编码

刨根究底字符编码之九——字符编码方案的演变与字节序

公众号回复表情 和 关于字符集和字符编码

编码方式的编码方式