Flask 自行编解码

2021-08-10 10:44 更新

如果你的工作环境是一个不真正基于 Unicode 的文件系统之类的话,你需要确保使用 Unicode 接口妥善地解码。比如,当你想要在文件系统中加载一个文件,并嵌入到 Jinja2 模板时, 你需要按照文件的编码来解码。这里有一个老问题就是文本文件不指定有效的编码, 所以限定你在文本文件中使用 UTF-8 也是在帮自己的忙。

无论如何,以 Unicode 加载这样文件,你可以使用内置的 str.decode() 方法:

def read_file(filename, charset='utf-8'):
    with open(filename, 'r') as f:
        return f.read().decode(charset)

从 Unicode 转换成指定的字符集,你可以使用 unicode.encode() 方法:

def write_file(filename, contents, charset='utf-8'):
    with open(filename, 'w') as f:
        f.write(contents.encode(charset))
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号