阅读(3316) (0)

Flask 自动转换

2021-08-10 10:42:37 更新

为了提供基本无痛的 Unicode 支持,Flask做了这些假设:

  • 你网站上文本编码是 UTF-8
  • 你在内部对文本始终只使用 Unicode ,除非是只有 ASCII 字符的字面量字符串
  • 只要协议会话需要传送字节,都离不开编码和解码过程

所以,这对你来说有什么意义?

HTTP 是基于字节的,不仅是说协议,用于定位服务器文档的系统也是这样(即 URI 或 URL )。然而,通常在 HTTP 上传送的 HTML 支持很多种字符集,并且需要在 HTTP header 中注明。为了避免不必要的复杂性, Flask 假设你发送的都是 UTF-8 编码的 Unicode,Flask 会为你完成编码工作,并设置适当的 header。

如果你使用 SQLAlchemy 或类似的 ORM 系统与数据库会话,道理也是同样的:一些数据库 已经使用传输 Unicode 的协议,即使没有,SQLALchemy 或其它 ORM 也会顾及到。