encode / decode 编解码

发布于 2020-12-03 10:24:03 字数 1030 浏览 1281 评论 0

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 则对全部字符进行编码。

自定义编码

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

emdigitizer10

文章 0 评论 0

残龙傲雪

文章 0 评论 0

奢望

文章 0 评论 0

微信用户

文章 0 评论 0

又爬满兰若

文章 0 评论 0

独孤求败

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文