联系
Knight's Tale » 技术

Linux,python2.3环境下Twisted框架传递中文消息

2011-06-01 18:14

在Linux环境下,默认情况下的python2.3的encode功能不能使用(不能encode gbk2312, utf8)。我们在项目中使用Twisted框架来开发CS结构的程序,服务器端和客户端会用中文消息进行传递。twisted默认使用utf8进行编码【1】,一般情况下,只需要在服务器端用utf8进行编码,客户端则可以自动地将数据解析成功。

但是python2.3在Linux下却无法使用encode utf8功能。因此中文消息无法在CS之间传递。

为了能正确传递中文消息,最后采用的解决方法是:在服务器端用base64编码,然后在客户端用base64解码【2】。这种方法可以正确解决这个问题。

Reference:

  1. http://twistedmatrix.com/pipermail/twisted-web/2007-October/003551.html
  2. http://blog.csdn.net/lxdcyh/archive/2009/03/24/4021476.aspx