2

我正在使用烧瓶和 sqlalchemy orm 进行 Web 开发项目。我的帖子与在开发此应用程序中使用 unicode 有关。到目前为止我对 unicode 的理解:

  1. 如果我希望我的 webapp 以英语以外的语言处理数据,我需要为我的变量使用 unicode 数据类型。因为字符串变量不能处理 unicode 数据。

  2. 我使用一些存储 unicode 数据的数据库,或者负责在保存时将 unicode 转换为 raw,反之亦然。Sqlalchemy 为我提供了两种方式设置自动转换的选项,因此我不必担心它们。

  3. 我正在使用 python2.7,所以我必须注意正确处理 unicode 数据。对 unicode 数据的正常字符串操作可能有问题。

如果上述任何假设是错误的,请纠正我。

现在我的疑问或问题:

  1. 如果我现在不使用 unicode,那么如果我或烧瓶人决定移植到 python3,我会遇到一些问题吗?

  2. 我现在不想为我的 webapp 迎合不同语言而烦恼。我只想专注于首先创建应用程序。我可以稍后在不使用 unicode 的情况下执行此操作吗?

  3. 如果我现在使用 unicode,那么它将如何影响我的代码。我是否用 unicode 或什么替换每个字符串输入和输出?

  4. 保存到数据库时转换unicode,这可能是性能问题的根源吗?

基本上我是在询问是否使用 unicode 来解释我在项目之外的需求和要求。

4

1 回答 1

2
  1. 不,但请确保将二进制数据与文本数据分开。这使得移植更容易。

  2. 从一开始就使用 Unicode 更容易,但当然你可以推迟它。但这真的不是很困难。

  3. 你用Unicode替换所有应该是文本数据的东西,是的。

  4. 只有你们对大量文本进行大量转换。

于 2011-10-22T16:35:21.510 回答